a=100
def test(num):
num+=num
print(num)
test(a)
print(a)
输出结果:
200
100
-------------------------------------------------------------------------------------------------------------------------------------------------
a=[100]
def test(num):
num+=num
print(num)
test(a)
print(a)
输出结果:
[100,100]
[100,100]
-----------------------------------------------
造成以上结果的原因是:
当是可变变量的时候就会值节修改所指向的值,当时不可变变量的时会相加重新指向一个新的结果
---------------------------------------
a=[100]
def test(num):
num=num+num
print(num)
test(a)
print(a)
输出结果:
[100,100]
[100]
原因:
num=num+num ----------->[100]+[100]=[100,100] 生成一个新的值 python中只要出现‘=’统统都是引用。