Python中可变和不可变数据类型有何本质区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1240个文字,预计阅读时间需要5分钟。
Python中,可变数据类型和不可变数据类型是基础且重要的概念。简单来说,这里的可变和不可变指的是变量值改变时,数据地址是否发生变化。
可变数据类型:如列表(list)、字典(dict)等。改变变量的值时,数据地址可能不变,但内容可以修改。
不可变数据类型:如整数(int)、浮点数(float)、字符串(str)、元组(tuple)等。改变变量的值时,数据地址会发生变化,因为这类数据类型的内容是不可修改的。
例如:如果改变了整数的值,实际上Python会创建一个新的整数对象,并让变量指向这个新的对象。
Python可变数据类型和不可变数据类型是一个基础而且重要的考点。简单地说:这里的可变和不可变是指当变量改变的时候,数据的地址是否会改变!
可变数据类型:如果改变了变量的值,相当于是新建了一个对象(即地址会被改变)。
可变数据类型:变量的值发生变化,但是对象的地址不会改变。
不可变数据类型:元组,字符串,数值。
可变数据类型:字典,列表,集合。
引用在讲可变数据类型和不可变数据类型之前我们要讲一下引用的概念。python变量保存的是对象的引用,这个引用指向堆内存里的对象,在堆中分配的对象分为两类,一类是可变对象,一类是不可变对象。例如:s1="abc"。
其实变量s1 就是对象 abc的引用,s1指向了存储abc的内存地址,如果想看s1的地址值,可以使用函数id,id会把地址值转换成十进制。
本文共计1240个文字,预计阅读时间需要5分钟。
Python中,可变数据类型和不可变数据类型是基础且重要的概念。简单来说,这里的可变和不可变指的是变量值改变时,数据地址是否发生变化。
可变数据类型:如列表(list)、字典(dict)等。改变变量的值时,数据地址可能不变,但内容可以修改。
不可变数据类型:如整数(int)、浮点数(float)、字符串(str)、元组(tuple)等。改变变量的值时,数据地址会发生变化,因为这类数据类型的内容是不可修改的。
例如:如果改变了整数的值,实际上Python会创建一个新的整数对象,并让变量指向这个新的对象。
Python可变数据类型和不可变数据类型是一个基础而且重要的考点。简单地说:这里的可变和不可变是指当变量改变的时候,数据的地址是否会改变!
可变数据类型:如果改变了变量的值,相当于是新建了一个对象(即地址会被改变)。
可变数据类型:变量的值发生变化,但是对象的地址不会改变。
不可变数据类型:元组,字符串,数值。
可变数据类型:字典,列表,集合。
引用在讲可变数据类型和不可变数据类型之前我们要讲一下引用的概念。python变量保存的是对象的引用,这个引用指向堆内存里的对象,在堆中分配的对象分为两类,一类是可变对象,一类是不可变对象。例如:s1="abc"。
其实变量s1 就是对象 abc的引用,s1指向了存储abc的内存地址,如果想看s1的地址值,可以使用函数id,id会把地址值转换成十进制。

