使复合对象在Python中不可变

时间:2018-07-26 13:55:49

标签: python copy immutability

是否可以使复合 Python对象“深入”不变?也就是说,禁止对该对象进行任何级别的更改。

确实可以使deepcopy成为要使用的对象,但是这样做可能会很昂贵。我想看看是否可以使复合对象完全不可变,也许可以通过递归重写内部__setattr__方法来模拟不可变性。

一个例子是一个以字典和Numpy数组作为值的字典,或者一个以Python对象作为元素存储的Numpy数组。

这与SO question“如何在Python中创建不可变的对象?”有关。

0 个答案:

没有答案