1、可变对象数据类型_不可变对象数据类型
要谈论可变对象类型、不可变对象类型,需要先搞清python中内存结构。在python中内存分为两部分,堆和栈。堆中存放对象,栈中存放对象的引用,所以对象数据类型只是针对堆中的对象来说的,与栈中的引用无关。而对于变量名来说,变量名其实是栈中存放对象引用的内存地址。
不可变对象:在堆中,对象的value值存放的是程序员所希望存的内容本身,value值是不可改变的。
可变对象:在堆中,对象的value值存放的是程序员所希望存的内容的地址(引用),value值是可改变的。
不可变对象数据类型:int、float、字符串、元组。
可变对象数据类型:列表、字典、集合。
示意图如下: