我真的对这个__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}