不可变类型数据:string integer tuple
In [2]: var1=1
In [3]: var2=var1
In [4]: var1,var2
Out[4]: (1, 1)
In [5]: id(var1),id(var2)
#变量名虽然不一样,但是内存地址一样
Out[5]: (10919424, 10919424)
In [6]: var1+=1
In [7]: var1,var2
Out[7]: (2, 1)
In [8]: id(var1),id(var2)
#var1值变化后,重新申请了内存地址
Out[8]: (10919456, 10919424)
不可变类型 list dict
In [9]: list1=[1,2,3]
In [10]: list2=list1
In [11]: list1,list2
Out[11]: ([1, 2, 3], [1, 2, 3])
In [12]: id(list1),id(list2)
Out[12]: (140259039794696, 140259039794696)
In [13]: list1.append(4)
In [14]: list1,list2
Out[14]: ([1, 2, 3, 4], [1, 2, 3, 4])
In [15]: id(list1),id(list2)
#不管怎么改变变量的值,它所对应的内存的地址指向是不会变的
Out[15]: (140259039794696, 140259039794696)