传入函数中的变量会被函数改变,eg:
L = []
def add_end(L=[1,2]):
L.append('END')
return L
print(add_end()) //没有传值,函数外部L变量值不会被更改
print(L)
print(add_end(L)) //传值,函数外部变量会被引用,外部变量L的值也会被更改
print(L)
得到的结果:
[1, 2, 'END']
[]
['END']
['END']
与php比较:php无论是否传值到函数中,函数外部的L变量都不会被改变除非使用&引用