我想在代码中做些什么:
myobj = <SomeBuiltinClass>()
myobj.randomattr = 1
print myobj.randomattr
...
我可以实现一个实现__setattr__
__getattr__
的自定义SomeClass。
但我想知道是否已有内置的Python类或简单的方法来执行此操作?
答案 0 :(得分:8)
你可以使用一个空类:
class A(object): pass
a = A()
a.randomattr = 1
答案 1 :(得分:2)
我喜欢使用束语成语。有变化列表和一些讨论here。
答案 2 :(得分:0)
一种解决方案是使用mock:
from mock import Mock
myobj = Mock()
myobj.randomattr = 1
print myobj.randomattr
第二个解决方案是使用namedtuple:
from collections import namedtuple
myobj = namedtuple('MyObject', '')
myobj.randomattr = 1
print myobj.randomattr