>>> a = object()
>>> a.x = 5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'x'
>>> b = lambda:0
>>> b.x = 5
>>> b.x
5
为什么object
类的实例没有__dict__
,导致它的行为像语义不可变?选择这种设计的原因是什么?为什么在Python中`object`类的实例是不可变的?
具体地,原因是:在C中定义的类型的
实例不通过 默认具有__dict__属性。
[Python:为什么\ _ \ _ dict \ _ \ _属性不在内置类实例中]可能重复(http://stackoverflow.com/questions/9502183/python-why-is-dict-attribute不在内置的类实例) –