在python中, 对于数字或字符串来说 += 是相加在赋值的操作,但是在列表中 ,本质上是调用了extend()方法,不会修改变量的引用 也就不会影响全局变量的值。
def demo(num):
print(‘函数开始’)
num += num
print(num)
print(‘函数结束’)
gl_num = 9
demo(gl_num)
print(gl_num)
这一小段代码,是数字的 += 运算,最后的结果也就是先赋值后想加得到的。
函数开始
18
函数结束
9
接下来看在这一段代码中加入列表
def demo(num,num_list):
print(‘函数开始’)
num += num
num_list += num_list
print(num)
print(num_list)
print(‘函数结束’)
gl_num = 9
gl_num_list = [1,2,3]
demo(gl_num,gl_num_list)
print(gl_num)
print(gl_num_list)
函数开始
18
[1,2,3,1,2,3]
函数结束
9
[1,2,3,1,2,3]
列表 += 运算之后的结果只是把两个列表拼接起来了,并没有像数字一样加起来。list += list 就等于list.extend(list)。要赋值的话,就用list = list + list