Python でリフレクションを使用すると、オブジェクトのすべての属性を取得できます。このメカニズムはリフレクションと呼ばれ (これにより、オブジェクトがそれが何であるかをオブジェクトに知らせることができます)、実行時に未知のオブジェクトに関する情報を取得するために使用されます。
次に、オブジェクトのプロパティを確認またはアクセスするために使用できるいくつかの組み込みメソッドを示します。これらのメソッドは、例の Cat インスタンス オブジェクトだけでなく、任意のオブジェクトで使用できます;
#coding:utf-8 from a import * cat = Cat('kitty') print cat.name cat.sayHi() #调用实例方法 print dir(cat) if hasattr(cat, 'name'): #检查实例是否有这个属性 setattr(cat, 'name', 'tiger') #same as: a.name = 'tiger' print getattr(cat, 'name') #same as: print a.name getattr(cat, 'sayHi')()
dir([obj]):
これを呼び出しますメソッドは、obj のほとんどの属性名を含むリストを返します (含まれていない特殊な属性もいくつかあります)。 obj のデフォルト値は、現在のモジュール オブジェクトです。
hasattr(obj, attr):
このメソッドは、obj に attr という名前の属性があるかどうかを確認するために使用され、ブール値を返します。
getattr(obj, attr):
このメソッドを呼び出すと、obj の attr value という名前の属性の値が返されます。たとえば、attr が 'bar' の場合、obj.bar は次のようになります。戻ってきた。
setattr(obj, attr, val):
このメソッドを呼び出すと、attr という名前の obj の属性の値が val に割り当てられます。たとえば、attr が 'bar' の場合、obj.bar = val と同等です。
以上がPython でオブジェクトのすべてのプロパティを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。