1. 程式人生 > 實用技巧 >07-可變不可變型別

07-可變不可變型別

# 可變型別與不可變型別
# 可變型別:值改變,id不變,證明改的是原值,證明原值是可以被改變的
# 不可變型別:值改變,id也變了,證明是產生新的值,壓根沒有改變原值,證明原值

# 1.可變型別
# list、dict
# 1.1 list
l = ["a", "b", "c"]
print(id(l))  # 1590219264520
l[0] = 'AA'
print(l)
print(id(l))  # 1590219264520
# 1.2 dict
dic = {'k1': 111, 'k2': 222}
print(id(dic))  # 2461053443512
dic['k1'] = 333
print(id(dic))  # 2461053443512
# 關於字典補充:
# 定義:{}內用逗號分隔開多key:value,
#           其中value可以是任意型別
#           但是key必須是不可變型別

# 2.不可變型別
# int、float、str、bool、元組
# 2.1 int
x = 10
print(id(x))  # 140719114650160
x = 11  # 產生新值
print(id(x))  # 140719114650192

# 2.2 float
x = 3.17
print(id(x))  # 1590220736624
x = 3.1715926
print(id(x))  # 1590220738480

# 2.3 str
x = "abc"
print(id(x))  # 1590220451248
x = "abcd"
print(id(x))  # 1590220495344
# 小結:int、float、str都被設計成了不可分割的整體,不能夠被改變