标签: python copy immutability
是否可以使复合 Python对象“深入”不变?也就是说,禁止对该对象进行任何级别的更改。
确实可以使deepcopy成为要使用的对象,但是这样做可能会很昂贵。我想看看是否可以使复合对象完全不可变,也许可以通过递归重写内部__setattr__方法来模拟不可变性。
deepcopy
__setattr__
一个例子是一个以字典和Numpy数组作为值的字典,或者一个以Python对象作为元素存储的Numpy数组。
这与SO question“如何在Python中创建不可变的对象?”有关。