当我尝试向对象类的实例动态添加属性时,我得到一个AttributeError。但是,可以用对象的子类实例来实现。 有人知道为什么吗?你知道吗
>>> obj = object()
>>> obj.new_attr = "some value"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'new_attr'
>>> class MyClass(object):
... pass
...
>>> obj = MyClass()
>>> obj.new_attr = "some value"
>>> print obj.new_attr
some value
文档中有一个注释:
http://docs.python.org/3/library/functions.html#object
“注意:
object
没有__dict__
,因此不能将任意属性分配给对象类的实例。”python邮件列表中也有关于此的讨论:
https://mail.python.org/pipermail/python-list/2011-October/614249.html
相关问题 更多 >
编程相关推荐