可变与不可变类型
一.可变与不可变类型
可变类型:值改变,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必须是不可变类型