介紹python中運算子優先順序

2021-09-13 14:18:43 字數 1937 閱讀 4107

下面這個表給出python的運算子優先順序,從最低的優先順序(最鬆散地結合)到最高的優先順序(最緊密地結合)。這意味著在乙個表示式中,python會首先計算表中較下面的運算子,然後在計算列在表上部的運算子。

下面這張表(與python參考手冊中的那個表一模一樣)已經顧及了完整的需要。事實上,我建議你使用圓括號來分組運算子和運算元,以便能夠明確地指出運算的先後順序,使程式盡可能地易讀。例如,2 + (3 * 4)顯然比2 + 3 * 4清晰。與此同時,圓括號也應該正確使用,而不應該用得過濫(比如2 + (3 + 4))。

表1-2 運算子優先順序運算子描述

lambdalambda表示式

or布林「或」

and布林「與」

not x布林「非」

in,not in成員測試

is,is not同一性測試

<,<=,>,>=,!=,==比較

|按位或

^按位異或

&按位與

<<,>>移位

+,-加法與減法

*,/,%乘法、除法與取餘

+x,-x正負號

~x按位翻轉

**指數

x.attribute屬性參考

x[index]下標

x[index:index]定址段

f(arguments...)函式呼叫

(experession,...)繫結或元組顯示

[expression,...]列表顯示

字典顯示

'expression,...'字串轉換

計算順序

預設地,運算子優先順序表決定了哪個運算子在別的運算子之前計算。然而,如果你想要改變它們的計算順序,你得使用圓括號。例如,你想要在乙個表示式中讓加法在乘法之前計算,那麼你就得寫成類似(2 + 3) * 4的樣子。

結合規律

運算子通常由左向右結合,即具有相同優先順序的運算子按照從左向右的順序計算。例如,2 + 3 + 4被計算成(2 + 3) + 4。一些如賦值運算子那樣的運算子是由右向左結合的,即a = b = c被處理為a = (b = c)。

介紹python中運算子優先順序

下面這個表給出python的運算子優先順序,從最低的優先順序 最鬆散地結合 到最高的優先順序 最緊密地結合 這意味著在乙個表示式中,python會首先計算表中較下面的運算子,然後在計算列在表上部的運算子。下面這張表 與python參考手冊中的那個表一模一樣 已經顧及了完整的需要。事實上,我建議你使用...

運算子優先順序 Python 運算子優先順序

python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...

Python中運算子優先順序

先按運算子類別排序 一 二 同一類別內按具體運算子排序 1 2 1 冪運算 2 乘 除 取整 取餘 3 加 減 1 左移位 右移位 2 按位與 3 按位或 1 1 and 2 or 3 not 4 in 5 not in 1 補充 關於布林運算子中not,in,not in的示例 not運算子 fl...