PYTHON
打开JUPYTER NOTEBOOK,新建一个PY文档。
a = 10a += 10print(a)我们知道对整数进行+=运算可以得出这个结果。
b = [1, 2, 3]b += bprint(b)那么对列表做+=运算就会把另一个列表加进去。
c = [1, 2, 3]c = c + cprint(c)实际上可以这么书写。但是意义不同。
b = [1, 2, 3]print(id(b))b += bprint(b)print(id(b))使用+=不会对内部储存地址发生变化。
c = [1, 2, 3]print(id(c))c = c + cprint(c)print(id(c))但是如果我们这样书写相当于进行赋值了,所以会对id发生变更。
d = [1, 2, 3]print(id(d))d.extend(d)print(d)print(id(d))可以看出extend其实和+=的作用是一样的。
def hey(result): result = result + result print(result) new = [1, 2, 3] hey(new)print(new)如果运用到函数上,直接赋值不影响外部参数。
def hey(result): result += result print(result) new = [1, 2, 3] hey(new)print(new)def hey(result): result.extend(result) print(result) new = [1, 2, 3] hey(new)print(new)+=实际和extend一样,属于方法,会影响外部参数。
注意全局变量和局部变量的关系