Python運算符兩種應用方案詳解
在計算機語言中被廣泛的應用的Python運算符優(yōu)先級,如果你在應用的過程中遇到困難時,比如,如果你有一個如2 + 3 * 4那樣的表達式,是先做加法呢,還是先做乘法?下面的文章就是詳細的介紹。
我們的中學數(shù)學告訴我們應當先做乘法——這意味著乘法運算符的優(yōu)先級高于加法運算符。
下面這個表給出Python運算符優(yōu)先級,從最低的優(yōu)先級(最松散地結(jié)合)到最高的優(yōu)先級(最緊密地結(jié)合)。這意味著在一個表達式中,Python運算符會首先計算表中較下面的運算符,然后在計算列在表上部的運算符。
運算符 描述
- lambda Lambda表達式
- or 布爾“或”
- and 布爾“與”
- not x 布爾“非”
- in,not in 成員測試
- is,is not 同一性測試
- <,<=,>,>=,!=,== 比較
- | 按位或
- ^ 按位異或
- & 按位與
- <<,>> 移位
- +,- 加法與減法
- *,/,% 乘法、除法與取余
- +x,-x 正負號
- ~x 按位翻轉(zhuǎn)
- ** 指數(shù)
- x.attribute 屬性參考
- x[index] 下標
- x[index:index] 尋址段
- f(arguments...) 函數(shù)調(diào)用
- (experession,...) 綁定或元組顯示
- [expression,...] 列表顯示
- {key:datum,...} 字典顯示
- 'expression,...' 字符串轉(zhuǎn)換
在表中列在同一行的運算符具有 相同優(yōu)先級 。例如,+和-有相同的優(yōu)先級。
計算順序
默認地,運算符優(yōu)先級表決定了哪個運算符在別的運算符之前計算。然而,如果你想要改變它們的計算順序,你得使用圓括號。例如,你想要在一個表達式中讓加法在乘法之前計算,那么你就得寫成類似(2 + 3) * 4的樣子。
結(jié)合規(guī)律由左向右結(jié)合,即具有相同Python運算符優(yōu)先的運算符按照從左向右的順序計算。例如,2 + 3 + 4被計算成(2 + 3) + 4。一些如賦值運算符那樣的運算符是由右向左結(jié)合的,即a = b = c被處理為a = (b = c)。
【編輯推薦】