__dict__
属性解释
__dict__
是 Python 中的一个特殊属性,用于存储对象的属性及其值。它是一个字典,其中键是属性名称,值是对应的属性值。
以下是关于 __dict__
的一些关键点:
- 对象属性的存储:每个 Python 对象都有一个
__dict__
属性(除非该对象使用了__slots__
,这会限制动态属性的添加并移除__dict__
)。__dict__
用于存储该对象的属性。 - 查看对象的属性:你可以通过查看一个对象的
__dict__
属性来获取该对象的所有属性及其值。这对于调试和反射很有用。 - 动态添加属性:由于
__dict__
是一个字典,你可以通过修改它来动态地为对象添加新的属性。 - 类与实例:类和它们的实例都有
__dict__
属性。对于类,__dict__
存储类级别的属性(如静态方法和类方法)。对于实例,__dict__
存储实例级别的属性。 - 性能:虽然
__dict__
提供了一个动态的方式来管理对象的属性,但它也增加了额外的内存开销。为了优化内存使用,某些对象可能会使用__slots__
来明确声明它们可以拥有的属性,从而避免使用__dict__
。
示例
class SampleClass:
class_var = "I am a class variable"
def __init__(self, name, age):
self.name = name
self.age = age
# 创建 SampleClass 的实例
obj = SampleClass("John", 30)
# 显示实例和类的 __dict__
print(obj.__dict__) # 输出:{'name': 'John', 'age': 30}
print(SampleClass.__dict__["class_var"]) # 输出:I am a class variable