新聞中心
所有的數(shù)學運算都是從左向右進行的,Python 語言中的大部分運算符也是從左向右結合的,只有單目運算符、賦值運算符和三目運算符例外,它們是從右向左結合的,也就是說,它們是從右向左運算的。

創(chuàng)新互聯(lián)建站專注于衡南企業(yè)網站建設,響應式網站建設,商城網站定制開發(fā)。衡南網站建設公司,為衡南等地區(qū)提供建站服務。全流程定制開發(fā),專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務
乘法和加法是兩個可結合的運算符,也就是說,這兩個運算符左右兩邊的操作數(shù)可以互換位置而不會影響結果。
運算符有不同的優(yōu)先級,所謂優(yōu)先級就是在表達式運算中的運算順序。下表中列出了包括分隔符在內的所有運算符的優(yōu)先級順序。
| 運算符說明 | Python運算符 | 優(yōu)先級 |
|---|---|---|
| 索引運算符 | x[index]或x[index:index2[:index3]] | 18、19 |
| 屬性訪問 | x.attrbute | 17 |
| 乘方 | ** | 16 |
| 按位取反 | ~ | 15 |
| 符號運算符 | +或- | 14 |
| 乘、除 | *、/、//、% | 13 |
| 加、減 | +、- | 12 |
| 位移 | >>、<< | 11 |
| 按位與 | & | 10 |
| 按位異或 | ^ | 9 |
| 按位或 | | | 8 |
| 比較運算符 | ==、!=、>、>=、<、<= | 7 |
| is運算符 | is、is not | 6 |
| in運算符 | in、not in | 5 |
| 邏輯非 | not | 4 |
| 邏輯與 | and | 3 |
| 邏輯或 | or | 2 |
根據表中運算符的優(yōu)先級,我們分析 4+4<<2 語句的執(zhí)行結果。程序先執(zhí)行 4+4 得到結果 8,再執(zhí)行 8<<2 得到 32。如果使用“()”就可以改變程序的執(zhí)行順序,比如 4+(4<<2),則先執(zhí)行 4<<2 得到結果16,再執(zhí)行 4+16 得到 20。
雖然 Python 運算符存在優(yōu)先級的關系,但并不推薦過度依賴運算符的優(yōu)先級,因為這會導致程序的可讀性降低。因此,在這里要提醒讀者:
不要把一個表達式寫得過于復雜,如果一個表達式過于復雜,則把它分成幾步來完成。
不要過多地依賴運算符的優(yōu)先級來控制表達式的執(zhí)行順序,這樣可讀性太差,應盡量使用“()”來控制表達式的執(zhí)行順序。
名稱欄目:創(chuàng)新互聯(lián)Python教程:Python運算符優(yōu)先級
本文來源:http://m.fisionsoft.com.cn/article/djhddip.html


咨詢
建站咨詢
