運算優先級
從小學數學開始,就研究運算優先級的問題,比如四則運算中“先乘除,后加減”,說明乘法、除法的優先級要高於加減。
對於同一級別的,就按照“從左到右”的順序進行計算。
下面的表格中列出了python中的各種運算的優先級順序。不過,就一般情況而言,不需要記憶,完全可以按照數學中的去理解,因為人類既然已經發明了數學,在計算機中進行的運算就不需要從新編寫一套新規范了,只需要符合數學中的即可。
運算符 | 描述 |
---|---|
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,...' | 字符串轉換 |
上面的表格將python中用到的與運算符有關的都列出來了,是按照從低到高的順序列出的。
最后,要提及的是運算中的絕殺:括號()。只要有括號,就先計算括號里面的。