ホームページ >バックエンド開発 >Python チュートリアル >Python の getattr()、setattr()、delattr()、hasattr() についての簡単な説明

Python の getattr()、setattr()、delattr()、hasattr() についての簡単な説明

WBOY
WBOYオリジナル
2016-06-16 08:47:471107ブラウズ

1. getattr() 関数は Python イントロスペクションのコア関数です。具体的な使用法は次のとおりです。

class A:  
def __init__(self):  
self.name = 'zhangjing' 
#self.age='24'
def method(self):  
print"method print" 
 
Instance = A()  
print getattr(Instance , 'name, 'not find') #如果Instance 对象中有属性name则打印self.name的值,否则打印'not find'
print getattr(Instance , 'age', 'not find')  #如果Instance 对象中有属性age则打印self.age的值,否则打印'not find'
print getattr(a, 'method', 'default')  #如果有方法method,否则打印其地址,否则打印default  
print getattr(a, 'method', 'default')()  #如果有方法method,运行函数并打印None否则打印default 

2. hasattr(オブジェクト, 名前)

説明: オブジェクトに name という名前の属性が含まれているかどうかを判断します (hasattr は getattr(ojbect, name) を呼び出して実装され、例外がスローされるかどうかを確認します)

3. setattr(オブジェクト、名前、値)

これは、対応する getattr() です。パラメータはオブジェクト、文字列、および任意の値です。文字列には、既存のプロパティまたは新しいプロパティがリストされる場合があります。この関数は、属性に値を割り当てます。オブジェクトによって提供が可能になります。たとえば、setattr(x,"foobar",123) は x.foobar = 123 と同等です。

4. delattr(オブジェクト, 名前)

setattr() に関連する一連の関数。パラメータはオブジェクト (Python ではすべてがオブジェクトであることを思い出してください) と文字列で構成されます。文字列パラメータは、オブジェクト プロパティ名のいずれかである必要があります。この関数は、文字列で指定された属性をオブジェクトから削除します。 delattr(x, 'foobar')=del x.foobar

上記の記事では、Python の getattr()、setattr()、delattr()、および hasattr() について簡単に説明しています。これは、エディターが共有するすべての内容であり、参考になれば幸いです。誰もがこの脚本をサポートします。

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