python中逻辑运算符“+”的特殊之处

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的值(注意:变量的值得是可变类型才可修改,否则就是指向另外一个新值)

原文地址:https://www.cnblogs.com/baihualin/p/10404154.html