更新時間:2023-05-15 來源:黑馬程序員 瀏覽量:
在Python中,數(shù)據(jù)類型分為可變和不可變兩種類型。簡單來說,可變數(shù)據(jù)類型是可以在原地修改的,而不可變數(shù)據(jù)類型則不能直接修改,只能通過重新創(chuàng)建一個新的對象來實現(xiàn)修改。
下面是一些常見的Python數(shù)據(jù)類型,以及它們是可變還是不可變的:
可以通過一些簡單的代碼演示來說明可變和不可變數(shù)據(jù)類型的區(qū)別:
# 不可變數(shù)據(jù)類型 a = 5 b = a a = a + 1 print(a) # 輸出 6 print(b) # 輸出 5,b并沒有被修改 s1 = "hello" s2 = s1 s1 = s1 + " world" print(s1) # 輸出 "hello world" print(s2) # 輸出 "hello",s2并沒有被修改 t1 = (1, 2, 3) t2 = t1 # 嘗試修改元組 # t1[0] = 4 # 這行代碼會拋出 TypeError 異常,因為元組是不可變的 # 可變數(shù)據(jù)類型 lst1 = [1, 2, 3] lst2 = lst1 lst1.append(4) print(lst1) # 輸出 [1, 2, 3, 4] print(lst2) # 輸出 [1, 2, 3, 4],lst2也被修改了 d1 = {"name": "Alice", "age": 30} d2 = d1 d1["age"] = 31 print(d1) # 輸出 {"name": "Alice", "age": 31} print(d2) # 輸出 {"name": "Alice", "age": 31},d2也被修改了
我們可以看到,對于不可變數(shù)據(jù)類型,賦值給另一個變量后,對原變量的修改不會影響到另一個變量;而對于可變數(shù)據(jù)類型,賦值給另一個變量后,對原變量的修改會影響到另一個變量。