Python中什么是可变对象?Python中的可变对象和不可变对象有什么不同?

在Python中,所有的数据都可以是一个对象 。在这些对象中,Python可以分成可变的对象和不可变的对象,那么你知道Python中可变对象和不可变对象的区别吗?下面让我们一起来看看有关可变对象和不可变对象的区别吧 。

Python中什么是可变对象?Python中的可变对象和不可变对象有什么不同?

文章插图
【Python中什么是可变对象?Python中的可变对象和不可变对象有什么不同?】Python中所有的事物都可以看成是一个对象,并且在每一个对象中都会有一个特定的id、类型和值的存在,id是用来存放创建后的对象,也就是一个内存地址,类型就是所能够支持的操作,值就是创建好对象之后,在内存中所存放的数据 。对于Python可变和不可变的区分的关键就在于值的变化 。
一、不可变对象
当我们把对象的值存进对应的内存中时,如果不能进行改变,我们就把它称为是一种不可改变的对象,如果是对一个变量进行改变,因为所指的内存是不能改变的,就相当于是把原来的值复制了一遍之后再做改变,开辟一个新的内存地址,并且将这个变量指定这个新的地址上 。举个例子:
不可变对象
a=12b=xid(a)==id(a)Trueid(12)==id(b)True在这个示例中,我们创建了两个整型的对象,分别是a、b 。如果我们想修改a对象的话,a 所指向的对象是可以改变的,但是之前所对应的值12并不会改变 。
二、可变对象
当我们创建对象的时候,对象指定内存中的值可以被改变 。当变量改变之后,可以对它进行引用,并不会像不可改变的对象一样是赋值之后开辟一个新的地址,而是直接在当前的内存上修改了 。
以上就是关于Python中什么是可变对象?Python中的可变对象和不可变对象有什么不同?的全部内容了,希望可以对大家的学习带来一定的帮助 。

    推荐阅读