介紹python中運算子優先順序
下面這個表給出Python的運算子優先順序, 從最低的優先順序(最鬆散地結合)到最高的優先順序(最緊密地結合) 。這意味著在一個表示式中,Python會首先計算表中較下面的運算子,然後在計算列在表上部的運算子。
下面這張表(與Python參考手冊中的那個表一模一樣)已經顧及了完整的需要。事實上,我建議你使用圓括號來分組運算子和運算元,以便能夠明確地指出運算的先後順序,使程式儘可能地易讀。例如,2 + (3 * 4)顯然比2 + 3 * 4清晰。與此同時,圓括號也應該正確使用,而不應該用得過濫(比如2 + (3 + 4))。
運算子 | 描述 |
---|---|
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,...] | 列表顯示 |
{key:datum,...} | 字典顯示 |
'expression,...' | 字串轉換 |
預設地,運算子優先順序表決定了哪個運算子在別的運算子之前計算。然而,如果你想要改變它們的計算順序,你得使用圓括號。例如,你想要在一個表示式中讓加法在乘法之前計算,那麼你就得寫成類似(2 + 3) * 4的樣子。
運算子通常由左向右結合,即具有相同優先順序的運算子按照從左向右的順序計算。例如,2 + 3 + 4被計算成(2 + 3) + 4。一些如賦值運算子那樣的運算子是由右向左結合的,即a = b = c被處理為a = (b = c)。
提示: 合理使用括號增強程式碼的可讀性,在很多場合使用括號都是一個好主意,而沒用括號的話,會使程式得到錯誤結果,或使程式碼可讀性降低,引起閱讀者困惑。。括號在Python語言中不是必須存在的, 不過為了可讀性, 使用括號總是值得的。任何維護你程式碼的人會感謝你, 在你再次閱讀自己的程式碼時,你也會感謝你自己。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2639219/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python 運算子優先順序 運算子Python
- python運算子及優先順序順序Python
- java運算子優先順序Java
- 運算子的優先順序
- C++運算子優先順序C++
- C++ 運算子優先順序表C++
- C++運算子優先順序特例C++
- C 語言運算子優先順序
- C語言運算子優先順序C語言
- ORACLE中sql語句----運算子的優先順序OracleSQL
- c運算子優先順序表-最全c語言運算子優先順序和結合性對照表C語言
- 2.5 運算子及運算子的優先順序;2.6 語句
- java字串連線和運算子優先順序Java字串
- Like Sunday, Like Rain - JavaScript運算子優先順序AIJavaScript
- lodash原始碼分析之baseFindIndex中的運算子優先順序原始碼Index
- JavaScript陰溝裡翻船之運算子優先順序JavaScript
- C語言常被搞錯的運算子優先順序C語言
- Java常見知識點彙總(⑤)——運算子優先順序Java
- [java基礎] 之 表示式和運算子的優先順序Java
- Solidity語言學習筆記————8、運算子優先順序Solid筆記
- 中斷優先順序
- 程式設計答疑:記不住運算子優先順序怎麼辦?程式設計
- 運算子的關係,什麼叫一元運算子,二元運算子,三元運算子,運算子優先順序,以及運算子的
- 面試題:物件的儲存形式 和 . 運算子的優先順序面試題物件
- 如果你不懂js運算子優先順序,那絕對不是js高手。JS
- CSS優先順序CSS
- js運算子優先順序及賦值運算var a = {n:1};var b = a;a.x = a = {n:2};JS賦值
- 設計中的優先順序(下)
- 設計中的優先順序(上)
- Yacc使用優先順序
- Android程式優先順序Android
- [JAVA] 不僅有Java運算子,更有優先順序講解,可以說很詳細了Java
- Python例項屬性的優先順序分析Python
- SpringBoot配置檔案優先順序載入順序Spring Boot
- SQL 優先順序join>whereSQL
- 【筆記】Python基礎(二)運算子介紹筆記Python
- JavaScript運算子及優先順序全攻略,點選立刻升級你的程式設計水平!JavaScript程式設計
- ansible 變數優先順序示例變數