Pythonのイントロスペクションは、物体の内部構造のメカニズムによるものです
Personクラス:
"" "
人
" ""
名= "ユーザー"
クラスの学生(人):
DEF __init __(自己、scool_name):
self.scool_name = scool_name
IF __name__ == "__main__":
ユーザー=学生(「ムーのクラスのネットワーク「)、
クエリのプロパティを通じて#の__dict__
プリント(ユーザー.__ dict__に)それがオブジェクト属性に属さない、人のクラス属性に属しているため、#ここで、人へのプロパティの名前を見つけることができません。
ユーザー.__ dictの__ [」school_addr「 ] =」 北京「
印刷(user.school_addr)
印刷(人.__ dict__に)
印刷(user.name)
印刷#は、すべてのオブジェクトのプロパティ、属性名のみが一覧表示されます(DIR(ユーザー))ではなく、プロパティ値
あなたはそれを除いて、Pythonの__dict__とdir()プロパティでオブジェクトを返すことができます。
- __dict__オブジェクトのプロパティ、およびDIR()はビルトイン方式です。
- 、プロパティ名とオブジェクトの値を返す、すなわち__dict__ 辞書のプロパティ名を返し)タイプ、DIR(リスト。
- 各オブジェクトは__dict__ていない、とdir()は、モジュール、タイプ、クラス、オブジェクトなどの様々なタイプのオブジェクトの関数です。
- _dict__オブジェクトのみを返し、書き込み可能なプロパティ()(書き込み可能な属性)、およびDIRをすべての関連(のrelavent)特性を返し、オブジェクトの異なるタイプ、異なる効果のため。