假设我想使用一个类似于dictionary的可变对象在进程之间传递数据,但是我没有使用内置dictionary类型,而是创建了一个空的“Container”类,如下所示:
class Container(object):
pass
x = Container()
x.a = 42
x.b = ['Hitch', 'Hiker']
现在,我可以使用x.a
而不是写出x['a']
,这对我来说更清楚一些。假设我不希望在键值上循环,那么使用这个“容器”和标准字典有什么主要的缺点吗?你知道吗
Tags:
如果您想做到这一点并且仍然获得字典的优势,我将子类
dict
:印刷品:
您可能希望单独处理现有属性,以便仍然可以更改它们:
是的,这是一个完美的Python的事情做。实际上是recommended in the Python tutorial。你知道吗
我不认为这样做对快速,简单的容器有什么错。主要的缺点是您没有获得dict的所有其他方法(如
.get()
、.items()
,等等),并且您的键必须是有效的Python标识符。你知道吗请注意,还有一些库提供了类似的功能和更方便的特性(如attrdict)。你知道吗
相关问题 更多 >
编程相关推荐