可变类型 Vs 不可变类型

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

可变类型(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可变类型和不可变类型区别的详细内容,更多请关注Work网其它相关文章!

08-31 20:02