如果传参是不可变类型,函数外面不变,如果传参是可变类型,那么函数外面可变。
按值传递:不会改变原有的值
>>> a=1
>>> def func(a):
... a=a+1
... print(a)
...
>>> a
1
>>> func(a)
2
>>> a
1
引用传递:传变量,会改变原有的值
>>> a=[]
>>> def func(a):
... a.append(1)
... print(a)
...
>>> a
[]
>>> func(a)
[1]
>>> a
[1]
>>> func(a)
[1, 1]
>>> a
[1, 1]
>>> func(a)
[1, 1, 1]