我想模拟python中的按值传递行为。换句话说,我想绝对确保我编写的函数不会修改用户提供的数据。
一种可能的方法是使用深层复制:
from copy import deepcopy
def f(data):
data = deepcopy(data)
#do stuff
有没有更有效或更Python的方法来实现此目标,对传递的对象进行尽可能少的假设(例如.clone()方法)
编辑
我知道技术上python中的所有内容都是按值传递的。我对模拟行为很感兴趣,即确保我不会弄乱传递给函数的数据。我猜最一般的方法是使用其自身的克隆机制或Deepcopy来克隆所讨论的对象。