num = num + num 与 num += num 的区别 (其他语言中这俩种方式可以划等号, 但是 python 中不可以):
- num = num + num:
- num = [100]
- def test(num):
- num = num + num
- print(num)
- test(num)
- print(num)
结果:
- [100, 100] [100]
- num += num :
- num = [100]
- def test(num):
- num += num
- print(num)
- test(num)
- print(num)
结果:
- [100, 100]
- [100, 100]
总结:
num = num + num : = 左边的 num 相当于新命名了一个局部变量变量 num, 只是刚好与全局变量 num 名字相同而已, 即原来的 num 值不变
num += num : 相当于原来的变量 num 加了一个 num 的值, 即会修改原来 num 的值 (注意: 变量的值得是可变类型才可修改, 否则就是指向另外一个新值)
来源: http://www.bubuko.com/infodetail-2961014.html