2
n = 20
print n.__name__
n
は何の属性__name__
を持っていないように私はエラーを取得しています:type(n).__ name__が機能するときにn .__ name__属性エラーが発生するのはなぜですか?
AttributeError: 'int' object has no attribute '__name__'
しかしn
はint
クラスのインスタンスであり、int.__name__
は結果を与える、なぜn.__name__
はエラーをスローしません。 n
はクラスint
のインスタンスなので、そのクラスのすべての属性にアクセスできるはずです。
"nはクラスintのインスタンスであり、intクラスのすべての属性にアクセスできる必要があるため、それは動作しません。 Pythonは 'n'のメソッド解決順序で '__name__'のすべてのクラスのクラスdictsを検索しますが、' int .__ name__'は 'int .__ dict__'のエントリから来ません。 – user2357112