标签: python
例如,
def T(x): for i in range(1,len(x)-1): x[i]+=x[i-1]+2 def f(x): x=x+2 return x x=[1,2,3,4,5] ;T(x) ;print(x) [1, 5, 10, 16, 5]
变量x在这种情况下会发生变化,但是,
x=3 ;f(x) ;print(x) x=3
x不会改变。
为什么会这样?
答案 0 :(得分:1)
一般来说,可变对象作为引用传递,而不可变对象通过值传递。
获得与(1)相同的结果:
x = 3 x = f(x) print(x)
您可以查看此web以获取更多相关信息。