下面這個表給出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...