可变与不可变类型

一.可变与不可变类型

可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的

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

二.验证

2.1 int是不可变类型

1 x=10
2 print(id(x))
3 x=11 # 产生新值
4 print(id(x))

 2.2 float是不可变类型

 

1 x=3.1
2 print(id(x))
3 x=3.2
4 print(id(x))

 

 

2.3 str是不可变类型

1 x="abc"
2 print(id(x))
3 x='gggg'
4 print(id(x))

小结:int、float、str都被设计成了不可分割的整体,不能够被改变

 

2.4bool不可变

bool类型只有true和false两种

true就是true

false就是false

 

2.5 list是可变类型

1 l=['abc','bcd','cde']
2 print(id(l))
3 l[0]='ABC'
4 print(l)
5 print(id(l))

 

2.6dict可变类型

1 dic={'第一名':657,'第二名':655}
2 print(id(dic))
3 dic['第一名']=713
4 print(dic)
5 print(id(dic))

 

关于字典补充:
定义:{}内用逗号分隔开多key:value,
其中value可以是任意类型
但是key必须是不可变类型

 

posted @ 2020-03-07 19:31  Only-W  阅读(200)  评论(0编辑  收藏  举报