Python中的可变与不可变类型

首先,我们需要知道在python中哪些是可变数据类型,哪些是不可变数据类型。可变数据类型:列表list和字典dict;不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。

用一句话来概括上述过程就是:“python中的不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,

而对于相同的值的对象,在内存中则只有一个对象,内部会有一个引用计数来记录有多少个变量引用这个对象;可变数据类型,允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,

不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。


突然想到一点,比如说:字符串 s= 'fei',然后 s.upper()输出'FEI', 但 s还是输出'fei',不会改变自己,如果不想要a了,可以

a = a.upper(),这样自己覆盖自己。

而对于字典,比如 dict = {          

                                'name':'fei',

                                'pwd':'weweweas',

                            }

而,dict.clear()就会删除字典中的所有值,就会改变dict的值

都是自己的理解不知道对不对,如果不对,大神可以指出来。

地址:https://www.cnblogs.com/howhy/p/6672257.html



你可能感兴趣的:(web基础,python基础)