Python:动态地向对象添加字段

时间:2010-12-14 19:28:28

标签: python metaprogramming

我想知道是否可以动态地向对象添加字段。例如,我希望能够添加如下内容:

user = object()
user.first_name = 'John'
user.last_name = 'Smith'

当我在Python命令行解释器中执行时,我得到:

AttributeError: 'object' object has no attribute 'first_name'

有什么想法吗?

2 个答案:

答案 0 :(得分:16)

试试这个:

class Object:
    pass

obj = Object()
obj.x = 5

答案 1 :(得分:5)

您不能像这样分配object个实例的属性。派生自object,并使用该类的实例。