Python 中可變和不可變的區別?


Python 定義了各種資料型別的物件。這些物件儲存在記憶體中,物件的可變性取決於型別,例如列表字典是可變的,這意味著我們可以在不改變其身份的情況下更改其內容。其他物件,如整數、浮點數、字串元組,沒有規定更改其為索引分配的值。

列表是可變的:列表就像其他語言中宣告的陣列。列表不一定是同構的,這使得它成為Python中最強大的工具之一。列表是可變的,因此,即使在建立後也可以更改它們。

示例

#Write a python program to print list of a number?
list=[1,2,3,4,5]
print(list)

輸出

[1,2,3,4,5]

列表是一個有序且可更改的集合。允許重複成員。

示例

list=[1,2,3,4,5]
list[0] ='a'
print(list)

輸出

['a', 2, 3, 4, 5]

在執行程式時,將基於零的索引賦值為“1”可以賦值為“a”,這是可變的(可以修改)

元組是不可變的:元組是一個有序且不可更改的集合,不允許重複成員。在 Python 中,元組用圓括號 () 括起來,並用逗號分隔。圓括號是可選的,但是,使用它們是一個好習慣。

示例

#Write a python program to print tuple of a number?
Tuple=(10,20,30)
print(tuple)

輸出

(10,20,30)

元組是有序且不可更改的(不能修改)。

示例

tuple=(10,20,30)
tuple[0]=50
print(tuple)

輸出

TypeError Traceback (most recent call last)
in
1 my_yuple = (10, 20, 30)
----> 2 my_yuple[0] = 50
3 print(my_yuple)

TypeError: 'tuple' object does not support item assignment

在將基於零的索引賦值為“50”時會丟擲異常,因為它已分配了值“10”,這是不可變的(不能修改)。

更新於:2023年9月9日

2K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.