python運算子的優先順序

2021-08-08 00:06:54 字數 1306 閱讀 8445

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

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

表5.2 運算子優先順序

運算子描述

lambda

lambda表示式

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

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...

運算子優先順序 PHP運算子優先順序

php運算子優先順序 結合方向 運算子附加資訊 非結合clone new clone 和 new左 array 非結合 遞增 遞減運算子 非結合 int float string array object bool 型別非結合 instanceof 型別右結合 邏輯操作符 左 算術運算子 左 算術運...