Python中允许设置任意属性的Dictionarylike对象

2024-09-29 23:21:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在代码中做什么:

myobj = <SomeBuiltinClass>()
myobj.randomattr = 1
print myobj.randomattr
...

我可以实现一个实现__setattr____getattr__的自定义SomeClass。 但是我想知道是否已经有了一个内置的Python类或简单的方法来实现这一点?在


Tags: 方法代码内置printmyobjgetattrsomeclasssetattr
3条回答

您可以使用空类:

class A(object): pass

a = A()
a.randomattr = 1

我喜欢用这个短语。这里有一些变体和一些讨论here。在

一种解决方案是使用mock的:

from mock import Mock
myobj = Mock()
myobj.randomattr = 1
print myobj.randomattr

第二种解决方案是使用namedtuple:

^{pr2}$

相关问题 更多 >

    热门问题