python 中的__dict__属性讲解
时间: 2023-10-30 19:07:56 浏览: 109
在 Python 中,每个对象都有一个 __dict__ 属性,它是一个字典,包含了对象的所有属性和方法。这个字典可以通过对象的 __dict__ 属性访问。
例如,如果我们有一个类 MyClass,它有一个属性 x 和一个方法 foo,那么 MyClass 的实例对象 obj 的 __dict__ 属性将包含 {'x': value, 'foo': <function foo at 0x000001>}。
我们可以通过 obj.__dict__['x'] 或者 obj.__dict__['foo'] 来访问这些属性和方法。
__dict__ 属性也可以用来动态添加或删除对象的属性和方法。例如,我们可以通过 obj.__dict__['y'] = 10 来添加一个新的属性 y。
需要注意的是,对于一些内置类型(如 int,str 等),它们的 __dict__ 属性是不存在的,因为它们是不可变的。同时,对于一些内置类型的实例(如列表、字典等),它们的 __dict__ 属性也是不存在的,因为它们的属性和方法是通过类的 __dict__ 属性来访问的。
阅读全文