可变/不可变数据类型
作者:互联网
可变不可变类型
-
可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的
-
不可变类型:值改变,id也改变了,证明是产生新的值,压根没有改变原值,证明原值是不可改变的
int float str 不可变
x = 10 print(id(x)) x = 20 print(id(x)) 1646651456 1646651616 x = 10.1 print(id(x)) x = 20.1 print(id(x)) 21905056 21902576 x = 'xxq' print(id(x)) x = 'zsy' print(id(x)) 59860800 59862464
总结:int、float、str在Python中都被设计成了不可分割的整体,不能够被改变
list是可变类型
列表本身的内存地址是不变的,但是列表里面的存的值的内存地址变了
改变的是元素地址(换汤不换药)
# l = ['aaa','bbb','ccc'] # print(id(l)) # l = ['xxx','yyy','zzz'] # print(id(l)) l = ['aaa','bbb','ccc'] print(id(l)) l[0] = 'AAA' # print(l) print(id(l))
dict是可变类型
dic = {'k1':111,"k2":222} print(id(dic)) dic['k1'] = 333 print(id(dic)) 定义:{}内用逗号隔开多个 key : value,其中 value可以是任意类型,但是 key必须是不可变类型
bool不可变
- 因为只有True 和 False
标签:原值,不可,数据类型,dic,改变,可变,print,id 来源: https://www.cnblogs.com/Tornadoes-Destroy-Parking-Lots/p/12433374.html