可变和不可变类型
1、 可变不可变类型
可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的
不可变类型:值改变,id也变了,证明产生了新的值,压根没有改变原值,证明原值是不可以被修改的
2、验证
2.1 int是不可变类型
x = 10
print(id(x))
x = 11
print(id(x))
2.2 float是不可变类型
x = 3.1
print(id(x))
x = 3.2
print(id(x))
2.3 str是不可变类型
x = "abc"
print(id(x))
x = "ccc"
print(id(x))
小结:int 、float、str都被设计成了不可分割的整体,不能够被改变
2.4 list是可变类型
l = ['aaa', 'vvv', 'ccc']
print(id(l))
l[0] = 'AAA'
print(id(l))
2.5 dict是可变类型
dic = {'k1': 111, 'k2': 222}
print(id(dic))
dic['k1'] = 333
print(id(dic))
2.6 bool不可变类型
3、 关于字典补充
定义:{}内用逗号分隔开多个key:value,其中value可以是任意类型,但是key必须是不可变类型