可以动态地向对象添加属性吗?

Tre*_*ith 6 python python-3.x

我想创建一个对象,然后动态地向对象添加属性.这是一些伪代码EX1:

a = object()
a.attr1 = 123
a.attr2 = '123'
a.attr3 = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

EX2:此PDF的第一页

在Python中,可以动态地向对象添加属性(类似于我给出的两个示例)?如果有,怎么样?

fal*_*tru 6

如果您使用的是Python 3.3+,请使用types.SimpleNamespace:

>>> import types
>>> a = types.SimpleNamespace()
>>> a.attr1 = 123
>>> a.attr2 = '123'
>>> a.attr3 = [1,2,3]
>>> a.attr1
123
>>> a.attr2
'123'
>>> a.attr3
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)