在Python中动态创建对象

Гео*_*иев 6 python

我为什么需要

class DummyObject(object):
    pass
Run Code Online (Sandbox Code Playgroud)

为了要做

dummy = DummyObject()
dummy.foo = 42
Run Code Online (Sandbox Code Playgroud)

为什么这在Python中不合法?

dummy = object()
dummy.foo = 42
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'foo'
Run Code Online (Sandbox Code Playgroud)