私は__dict__
属性について本当に混乱しています。私はたくさん検索しましたが、それでも出力についてはわかりません。
オブジェクト、クラス、または関数で使用される場合、誰かがゼロからこの属性の使用を説明できますか?
私は__dict__
属性について本当に混乱しています。私はたくさん検索しましたが、それでも出力についてはわかりません。
オブジェクト、クラス、または関数で使用される場合、誰かがゼロからこの属性の使用を説明できますか?
基本的に、問題のオブジェクトを説明するすべての属性が含まれています。属性の変更または読み取りに使用できます。のドキュメントからの引用__dict__
オブジェクトの (書き込み可能な) 属性を格納するために使用されるディクショナリまたはその他のマッピング オブジェクト。
Python ではすべてがオブジェクトであることを忘れないでください。私がすべてを言うとき、私は関数、クラス、オブジェクトなどのようなすべてを意味します(あなたは正しく読んでいます、クラス。クラスもオブジェクトです)。例えば:
def func():
pass
func.temp = 1
print(func.__dict__)
class TempClass:
a = 1
def temp_function(self):
pass
print(TempClass.__dict__)
出力します
{'temp': 1}
{'__module__': '__main__',
'a': 1,
'temp_function': <function TempClass.temp_function at 0x10a3a2950>,
'__dict__': <attribute '__dict__' of 'TempClass' objects>,
'__weakref__': <attribute '__weakref__' of 'TempClass' objects>,
'__doc__': None}