如果不想改变传入的对象,无论函数是如何调用的,我们同样可以在函数内部进行拷贝。
def changer(a, b):
b = b[:]
a = 2
b[0] = 'spam'
参考文献:
1.《Python学习手册》(第4版) —— 第四部分 函数 —— 第18章 参数 —— 传递参数 —— 避免可变参数的修改,P447。
如果不想改变传入的对象,无论函数是如何调用的,我们同样可以在函数内部进行拷贝。
def changer(a, b):
b = b[:]
a = 2
b[0] = 'spam'
参考文献:
1.《Python学习手册》(第4版) —— 第四部分 函数 —— 第18章 参数 —— 传递参数 —— 避免可变参数的修改,P447。