我刚刚想到的另一种解决方案:获得与原始代码相同行为的最简单方法是
Immutable = collections.namedtuple("Immutable", ["a", "b"])它不能解决可以通过
[0]等访问属性的问题,但是至少它要短得多,并且具有与
pickleand兼容的其他优点
copy。
namedtuple创建与我在此答案中描述的类型相似的类型,即派生自
tuple并使用
__slots__。它在Python
2.6或更高版本中可用。

我刚刚想到的另一种解决方案:获得与原始代码相同行为的最简单方法是
Immutable = collections.namedtuple("Immutable", ["a", "b"])它不能解决可以通过
[0]等访问属性的问题,但是至少它要短得多,并且具有与
pickleand兼容的其他优点
copy。
namedtuple创建与我在此答案中描述的类型相似的类型,即派生自
tuple并使用
__slots__。它在Python