gpt4 book ai didi

python - 防止修改python中的返回列表

转载 作者:行者123 更新时间:2023-11-28 17:48:50 24 4
gpt4 key购买 nike

我正在使用我的 python 技能并尝试创建一些类。由于 python 是基于引用的,因此类方法返回的任何列表都可以由调用者修改,然后在类中反射(reflect)出来(就像我拥有的​​那样)。避免这种情况的正确方法是什么?我在考虑将嵌套列表转换为嵌套元组还是进行深层复制?

最佳答案

返回元组是返回不可变列表的一种相当标准的方法。另一种选择是返回列表的不可变“ View ”。我不认为 stdlib 当前包含这样一个类,因此您可能必须推出自己的类,但它会相当简单。基本上,该类将包含一个私有(private)实例变量(底层列表);并将仅实现读取操作(__getitem____len__ 等)并将它们委托(delegate)给实例变量(根据需要将任何子项包装在“ View ”对象中)。

关于python - 防止修改python中的返回列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13862300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com