码迷,mamicode.com
首页 > 其他好文 > 详细

可变与不可变类型

时间:2020-03-06 14:58:53      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:变量类型   容器类   多个   定义   不可变类   变现   限制   类型   不可   

一、定义

  1、不可变类型:值改变,id也变了,证明产生的是新值,没有改变原值,原值不可被修改。

  2、可变类型:值改变,而id没变,证明改的是原值,原值可被修改。

二、归类

  1、不可变类型:int、float、str、bool。这些类型的值都是不可分割的整体,不能被修改。

a = 10
print(id(a))
a = 11
print(id(a))  # 两次id不同,float,str,bool同理

  2、可变类型:如,list,dict。这些类型可单独对其值进行修改而不是新赋值给变量名,此时变量值虽被修改,但是id没变。

l = [111,222,333]
print(id(l))
l[0] = 444
print(id(l))  # 两次id相同,dict同理

三、列表的key类型限制

  key必须是不可变类型:原则上int、float、str、bool都可以,但是多用str,因为只有str可以变现描述性含义。

四、小结

  个体值直接赋值的变量类型,因为其本身成一体,所以修改了值就等于是另外一个不同的值,因而这样类型的变量都为不可变类型。而容器类型的变量,因为其含多个元素,可以单独对某个元素进行增删修改处理,所以个体元素的修改只是改变了列表的值本身,没有新赋值给列表。

 

可变与不可变类型

标签:变量类型   容器类   多个   定义   不可变类   变现   限制   类型   不可   

原文地址:https://www.cnblogs.com/caoyu080202201/p/12426323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!