首页  >  文章  >  后端开发  >  python可变类型和不可变类型区别

python可变类型和不可变类型区别

(*-*)浩
(*-*)浩原创
2019-06-25 15:36:095300浏览

可变类型 Vs 不可变类型

python可变类型和不可变类型区别

可变类型(mutable):列表,字典(推荐学习:Python视频教程

不可变类型(unmutable):数字,字符串,元组

这里的可变不可变,是指内存中的那块内容(value)是否可以被改变

可以使用内建函数id()来确认对象的身份在两次赋值前后是否发生了变化。

可变数据类型,变量名存储的是一个地址,该地址指向一个具体的对象,并且不管对变量的值即对象做怎么样的操作,都不会改变变量名存储的地址。

可变类型的话,以list为例。list在append之后,还是指向同个内存地址,因为list是可变类型,可以在原处修改。、

>>> a = [1, 2, 3]
>>> id(a)
>>> a.append(4)
>>> id(a)

不变数据类型的对象一旦发生改变,就会在内存中开辟一个新的空间用于存储新的对象,原来的变量名就会指向一个新的地址。

>>> i = 5
>>> i += 1
>>> i
>>> id(i)
>>> i += 1
>>> i
>>> id(i)

更多Python相关技术文章,请访问Python教程栏目进行学习!

以上是python可变类型和不可变类型区别的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn