Python 中的鍊式賦值(其中多個變數在一行中分配給同一個值)引發了對其行為和不同鍊式作業之間的關係。本文旨在闡明這些概念。
考慮鍊式賦值:
x = y = somefunction()
這相當於以下單獨的賦值:
temp = somefunction() x = temp y = temp
需要注意的是,先分配最左邊的目標。這意味著 somefunction() 傳回的值被指派給鍊式賦值最左端的變量,然後該值被重新指派給其餘變數。
使用鍊式賦值來指派可變物件(例如列表、字典)時,需要小心。考慮以下情況:
x = y = [] # Wrong x.append(1) print(y) # Prints [1]
在這種情況下,x 和 y 引用同一個清單。附加到 x 也會影響 y,因為它們是同一底層物件的別名。
要建立單獨的、不同的變量,最好將每個變數分配給自己的值:
x = [] # Right y = [] # Right
現在,x 和y 是兩個獨立的空列表。
以上是以下是一些基於問題、與文章內容相關的英文標題選項: * Python 中的鍊式賦值:它是如何運作的? * 鍊式作業總是安全的嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!