ホームページ  >  記事  >  バックエンド開発  >  Python でオブジェクトのすべてのプロパティを取得する方法

Python でオブジェクトのすべてのプロパティを取得する方法

anonymity
anonymityオリジナル
2019-05-25 14:32:028664ブラウズ

Python でリフレクションを使用すると、オブジェクトのすべての属性を取得できます。このメカニズムはリフレクションと呼ばれ (これにより、オブジェクトがそれが何であるかをオブジェクトに知らせることができます)、実行時に未知のオブジェクトに関する情報を取得するために使用されます。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。