我想创建一个一次性的“结构”对象来保留各种状态标志。我的第一个方法是这样的(javascript风格)
>>> status = object()
>>> status.foo = 3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'foo'
绝对不是我所期望的,因为这是有效的:
>>> class Anon: pass
...
>>> b=Anon()
>>> b.foo = 4
我猜这是因为 object() 没有__dict__
。我不想使用字典,假设我不想创建 Anon 对象,还有其他解决方案吗?
制作“可以分配/获取属性的通用对象”的最简洁方法可能是:
b = lambda:0
正如大多数其他答案所指出的那样,还有很多其他方法,但为了简洁性很难击败这个方法(lambda:0
的字符数与object()
...;-).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)