我想模拟 python 中的按值传递行为。换句话说,我要确保我编写的函数不会修改用户提供的数据。
一种可能的方法是使用深度拷贝:
from copy import deepcopy
def f(data):
data = deepcopy(data)
#do stuff
是否有更有效或更多的 蟒蛇方法来实现这个目标,尽可能少地假设要传递的对象(例如。克隆()方法)
编辑
我知道,从技术上讲,Python 中的所有内容都是通过值传递的。我对 模仿的行为很感兴趣,也就是说,确保我不会弄乱传递给函数的数据。我想最通用的方法是用它自己的克隆机制或者深拷贝来克隆所讨论的对象。