python - 如何在 Python 中创建新的未知或动态/扩展对象

标签 python oop class object expandoobject

在 python 中,我们如何在没有预定义类的情况下创建一个新对象,然后动态为其添加属性?

示例:

dynamic_object = Dynamic()
dynamic_object.dynamic_property_a = "abc"
dynamic_object.dynamic_property_b = "abcdefg"

最好的方法是什么?

编辑因为很多人在评论中建议我可能不需要这个。

问题是我有一个序列化对象属性的函数。出于这个原因,由于某些构造函数的限制,我不想创建预期类的对象,而是创建一个类似的对象,比如 mock,添加任何“自定义”属性需要,然后将其反馈给函数。

最佳答案

只需定义您自己的类即可:

class Expando(object):
    pass

ex = Expando()
ex.foo = 17
ex.bar = "Hello"

关于python - 如何在 Python 中创建新的未知或动态/扩展对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015592/

相关文章:

python - 每 64 个字符插入换行符

java - Java中 protected 类结构?

python - 如何用装饰器类装饰实例方法?

python - 如何运行 Python 脚本(使用 Notepad++)

python - 将十六进制转换为 Base64 的项目

python - 如何在引发时将变量传递给异常并在异常时检索它?

java - 违反 OO 指导原则

java - 抽象类 : class, 接口(interface)或预期枚举错误

java - OOP:简单游戏设计中的对象继承和组合关系

c# - 创建字符的方法