![](https://img.kancloud.cn/41/e0/41e066af9a6c25a24868d9667253ec98_1241x333.jpg)
*****
## 经典的参数错误
~~~
def add(a,b):
a += b
return a
a = 1
b = 2
c = add(a,b)
print(c)
print(a,b)
a = [1,2]
b = [3,4]
c = add(a,b)
print(c)
print(a,b)
a = (1,2)
b = (3,4)
c = add(a,b)
print(c)
print(a,b)
~~~
### 不可变类型
以int类型为例:实际上 i += 1 并不是真的在原有的int对象上+1,而是重新创建一个value为6的int对象,i引用自这个新的对象。
### 可变类型
以list为例。list在append之后,还是指向同个内存地址,因为list是可变类型,可以在原处修改。