我在大型代码库中遇到了这个问题,所以我在下面创建了一个小型复制器:
在这里,我有以下两个函数,func2() 和 func3()
def func2(a,b):
a = 'new-value'
b = b+1
return a, b
def func4():
x,y = 'old-value',3
func2(x,y)
print(x,y)
我得到的输出是:
>>> func4()
old-value 3
我认为Python是传递赋值,所以func4()
应该覆盖x
和y
值new-value
4
我有什么误解?另外,我怎样才能将上面的代码更改为 make x
、y
havenew-value
和4
任何帮助是极大的赞赏!。