Python3中有六个标准的数据类型:

Number(数字)

String(字符串)

List(列表)

Dictionary(字典)

Tuple(元组)

Set(集合)

我理解的可变就是当一个变量创建时,在内存中申请一块空间用于存放对象,这个被申请的内存空间地址中的对象是可以改变的。当对这个对象进行一系列的操作时,这个内存空间地址不会改变,只会增加或缩减。如果这个对象是不可变的,那么在对对象进行操作时,必须在内存中的另外一个地方重新申请一块区域来存放操作后的对象。而老的内存空间会被python的垃圾回收机制处理掉。

不可变数据类型:

Number(数字)、String(字符串)、Tuple(元组)

实例:

>>> x = 1
>>> y = x
>>> x,y
(1, 1)

#使用内置函数id查看x,y的内存空间地址,可以看到x,y指向的同一个内存空间地址

>>> id(x),id(y)
(1982197552, 1982197552)
#对变量x进行操作
>>> x += 1
#查看x,y的值,可看到x指向的对象已经改变
>>> x,y
(2, 1)

#再次查看x,y指向的内存空间地址,发现x指向的内存空间已经改变。这是因为变量x和变量y属于不可变数据类型:整数数字

>>> id(x),id(y)
(1982197584, 1982197552)

可变数据类型:

List(列表)、Dictionary(字典)

实例:

>>> lst = [1,2,3,4]
#查看lst的内存空间位置
>>> id(lst)
798098221256
#对lst进行添加操作
>>> lst.append(5)
>>> lst
[1, 2, 3, 4, 5]

#再次查看lst的内存空间,可以发现虽然lst指向对象的内容发生了改变,但是lst的内存空间地址并没有改变

>>> id(lst)
798098221256

Python编程Day5——可变与不可变类型、数据类型整合

一.可变与不可变类型1.可变类原值型:只改变,但id不变,证明就是在改变原值,是可变类型2.不可变类型:值改变,但id也跟着改变,证明是产生了新的值,是不可变类型 x= print(id(x)) x= ...

python的可变与不可变数据类型

    python与C/C++不一样,它的变量使用有自己的特点,当初学python的时候,一定要记住“一切皆为对象,一切皆为对象的引用”这句话,其 ...