Pythonのイントロスペクションのメカニズム

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)特性を返し、オブジェクトの異なるタイプ、異なる効果のため

おすすめ

転載: www.cnblogs.com/callyblog/p/11331638.html