python不可变类型指的是什么-成都快上网建站

python不可变类型指的是什么

这篇文章将为大家详细讲解有关python不可变类型指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联服务项目包括寿阳网站建设、寿阳网站制作、寿阳网页制作以及寿阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,寿阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到寿阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

python中有可变对象和不可变对象,可变对象:list,dict.不可变对象有:int,string,float,tuple.

python不可变对象

int,string,float,tuple

先来看一个例子

def int_test(): 
    i = 77
    j = 77
    print(id(77))                  #140396579590760
    print('i id:' + str(id(i)))      #i id:140396579590760
    print('j id:' + str(id(j)))      #j id:140396579590760
    print i is j                    #True
    j = j + 1
    print('new i id:' + str(id(i)))  #new i id:140396579590760
    print('new j id:' + str(id(j)))  #new j id:140396579590736
    print i is j                    #False

if __name__ == '__main__':
    int_test()

有i和j俩个变量的值为77,通过打印77的ID和变量i,j在内存中的id我们得知它们都是指向同一块内存。所以说i和j都是指向同一个对象的。然后我们修改j的值,让j的值+1.按道理j修改之后应该i的值也发生改变的,因为它们都是指向的同一块内存,但结果是并没有。因为int类型是不可变类型,所有其实是j复制了一份到新的内存地址然后+1,然后j又指向了新的地址。所以j的内存id发生了变化。

内存分配情况如下:

python不可变类型指的是什么

关于python不可变类型指的是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前题目:python不可变类型指的是什么
文章源于:http://kswjz.com/article/jpopgi.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流