关于网上的说法有两点我想说一下
第一点
网上一直说num = num + num 和 num += num是等价的,在这里我要说一下,这两个只有在num是数值的时候才是等价的,如果不是数值的话,num = num + num是把num 加上num的值赋予给num,这个是要新开辟一个空间给num的,而num+=num是修改num原来的值为num + num的结果。可能你会有点愣,没事,下面我们看看例子
a = [100]
def zhouyu(num):
num = num + num
print(num)
zhouyu(a)
print(a)
通过上面的理解,我们知道num = num + num其实就是把[100]加上[100]的结果赋予给了num,这个时候,num就会重新去指向这个结果,也就说如果原来num的值是[100],那么现在num的值就是[100,100],而a还是[100]。
下面说另一种
a = [100]
def zhouyu(num):