gpt4 book ai didi

python - 关于 Python 2.x 中属性的动态分配

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:32 26 4
gpt4 key购买 nike

当我尝试向对象类的实例动态添加属性时,我得到一个 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

Note: object does not have a __dict__, so you can’t assign arbitrary attributes to an instance of the object class.

在 python 邮件列表上也有关于这个的讨论:

https://mail.python.org/pipermail/python-list/2011-October/614249.html

关于python - 关于 Python 2.x 中属性的动态分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21224791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com