2
例えば、私はクラスを定義します。Pythonの__name__の検索プロパティ戦略は、通常の戦略とどのように違うのですか?
['__class__','__delattr__','__dict__','__doc__','__format__','__getattribute__', '__hash__', '__init__', '__module__', '__new__','__reduce__','__reduce_ex__', '__repr__','__setattr__','__sizeof__','__str__','__subclasshook__','__weakref__']
印刷テスト:
class Test(object):
pass
print dir(Test)
は、次の結果を得ます。次のような結果gettting 名: テスト
私の質問には一切名前がテストに存在しないで、なぜテストを印刷することができます。 の名前、検索のストラタジーはの名前はです。
いずれかの回答がありがとう、ありがとう!
関数dir()は、オブジェクトがその基本クラスから定義または継承したすべてのプロパティをリストしませんか? – MayflowerYuan
はい、その基底クラスで定義されているすべてのプロパティ。しかし、dir(Test)は 'class'オブジェクトのプロパティを返しています。 'class'自体はそれ自体"基本クラス "を持たず、単に' type'というメタクラスを持っています。 –
ああ、私はdir()は、その基本クラスのすべてのプロパティをリストしないことを理解しています。 Test .__ name__を実行すると、プロパティ検索戦略は__name__の基本クラスに徐々に移行します。大変ありがとう@セバスチャン・ウォズニー – MayflowerYuan