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

标签 python python-3.x

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

a = object()
a.attr1 = 123
a.attr2 = '123'
a.attr3 = [1,2,3]

EX2:the first page of this PDF

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

最佳答案

如果您使用的是 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]

关于python - 您可以动态地向对象添加属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18234753/

相关文章:

python - Numpy 高级索引 : same index used multiple times in +=

python - sys.getrefcount() 返回远高于 2 的值

python - "TypeError: ' 在函数签名中输入 ' object is not subscriptable"

python - Pandas 比 numpy 慢得多?

python - 如何在开发中正确创建 Python 功能分支版本? ( pip 和 PEP-440)

python3如何在应用error_callback时找出apply_async目标函数中的哪一行导致错误

python-3.x - 如何在 tkinter 中使用 gridlayout 创建扩展 PanedWindow?

python - 可以分发 setuptools 用于将 python 2 中实现的包移植到 3 中

python-3.x - noLoop 是否停止执行绘制?

python - 如何使用 python(2.5 版)压缩文件夹的内容?