首頁 > 後端開發 > Python教學 > Python 的多重賦值如何影響變數求值順序?

Python 的多重賦值如何影響變數求值順序?

Susan Sarandon
發布: 2024-12-16 14:43:10
原創
616 人瀏覽過

How Does Python's Multiple Assignment Affect Variable Evaluation Order?

Python 中的多重賦值和求值順序

在Python 中,多重賦值是一種常見的做法,即同時為多個變數賦值。然而,此類作業中的求值順序可能會產生意想不到的後果。

問題

考慮以下程式碼:

>>> x = 1
>>> y = 2
>>> x, y = y, x + y  # Multiple assignment
登入後複製

在此之後賦值時,x 和 y的值為:

>>> x
2
>>> y
3
登入後複製

這與人們的預期不同如果賦值是單獨完成的:

>>> x = 1
>>> y = 2
>>> x = y  # Assign x to the current value of y
>>> y = x + y  # Assign y to the sum of x and y
>>> x
2
>>> y
4
登入後複製

解釋

由於賦值🎜>由於賦值語句中的求值順序而產生差異。在 Python 中,在變數實際賦值之前,先計算賦值的右側。

在第一個例子中,當我們賦值x, y = y, x y 時,右側-手邊的評估如下:

ham = y  # Where ham = 2
spam = x + y  # Where spam = 1 + 2 = 3
登入後複製

然後,x 被分配為ham 的值(2),y 被指派為spam 的值(3)。這就是為什麼我們得到結果 x = 2 和 y = 3。

相較之下,在第二個例子中,x 首先被賦予 y 的值,即 2。然後,y 被賦予以下總和: x (2) 和 y (2),結果為 4。

以上是Python 的多重賦值如何影響變數求值順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板