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

Raf*_*fid 10 python metaprogramming

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

user = object()
user.first_name = 'John'
user.last_name = 'Smith'
Run Code Online (Sandbox Code Playgroud)

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

AttributeError: 'object' object has no attribute 'first_name'
Run Code Online (Sandbox Code Playgroud)

任何的想法?

gru*_*czy 18

试试这个:

class Object:
    pass

obj = Object()
obj.x = 5
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 6

您无法分配object此类实例的属性.派生自object并使用该类的实例.