06-可变和不可变类型--我是正经的知识
一、不可变类型
1、what:值改变,id也改变,证明产生了新的值,原有的值并未发生改变
2、哪些数据类型是不可变的?
1、整型
>>> a = 10 >>> id(a) 263178304 >>> a = 11 >>> id(a) 263178320
2、浮点型
>>> a = 1.2 >>> id(a) 23034736 >>> a = 2.2 >>> id(a) 23034880
3、字符串
>>> a = 's' >>> id(a) 22954208 >>> a = 'x' >>> id(a) 22796288
4、总结:布尔类型、字符串、整型、浮点型被设计成一个不可分割的整体,属于不可变类型
二、可变类型
1、what:值改变,id不变,证明改的是原值
2、可变类型有哪些?
1、列表类型:列表的id不会变化,但是元素的对应的id会发生变化
>>> l = [111,222,333] >>> id(l),id(l[0]) (26891496, 263179920) >>> l[0] = 555 >>> id(l),id(l[0]) (26891496, 27266160)
2、字典类型:字典的id不会变化,但是key对应的值的id发生变化
注意:字典的key必须是不可变类型
>>> dic = {"name":"egon","age":18} >>> id(dic),id(dic["name"]) (23219408, 27314272) >>> dic["name"]="alex" >>> id(dic),id(dic["name"]) (23219408, 27312768)