首頁  >  文章  >  後端開發  >  Python 中的鍊式賦值如何運作?

Python 中的鍊式賦值如何運作?

Linda Hamilton
Linda Hamilton原創
2024-10-27 10:10:03916瀏覽

How do chained assignments work in Python, and what are the potential pitfalls when dealing with mutable objects?

鍊式賦值是如何運作的?

Python 中的鍊式賦值,例如:

x = y = somefunction()

相當於下面兩個順序執行的語句:

temp = somefunction()
x = temp
y = temp

這表示首先計算賦值運算子右側的表達式,然後將結果值賦給所有左側的變量,從左到右。

例如,以下程式碼會列印數字 10 兩次:

def somefunction():
    return 10

x = y = somefunction()
print(x)
print(y)

需要注意的是,鍊式賦值可以是處理可變物件(例如清單)時會出現問題。例如,以下程式碼將相同的空列表指派給 x 和 y:

x = y = []

x.append(1)

print(x)
print(y)

這將列印 [1, 1],因為 x 和 y 引用相同的清單。如果您打算建立兩個單獨的列表,則應該編寫:

x = []
y = []

x.append(1)

print(x)
print(y)

這將列印 [1] 和 [],因為 x 和 y 引用不同的列表。

以上是Python 中的鍊式賦值如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn