python中可变数据类型和不可变数据类型

不可变类型数据: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)

猜你喜欢

转载自blog.csdn.net/weixin_40612082/article/details/81295968