Python 運(yùn)算的優(yōu)先級(jí)

image

下表從高到低列出了運(yùn)算符的優(yōu)先級(jí)。同一行中的運(yùn)算符具有相同優(yōu)先級(jí),然后運(yùn)算符的優(yōu)先級(jí)是運(yùn)算表達(dá)式從左到右

?
image.png

Python運(yùn)算符計(jì)算順序:

  1. 一般情況下,運(yùn)算符優(yōu)先級(jí)表決定了哪個(gè)運(yùn)算符在別的運(yùn)算符之前計(jì)算。但是,如果你想要改變它們默認(rèn)計(jì)算順序,你得使用圓括號(hào)。例如,你想要在一個(gè)表達(dá)式中讓加法在乘法之前計(jì)算,那么你就得寫成類似(10 + 55) * 13的樣子。
    Python運(yùn)算符結(jié)合規(guī)律

  2. Python運(yùn)算符通常由左向右結(jié)合,即具有相同優(yōu)先級(jí)的運(yùn)算符按照從左向右的順序計(jì)算。例如,2 + 3 + 4被計(jì)算成(2 + 3) + 4。一些如賦值運(yùn)算符那樣的運(yùn)算符是由右向左結(jié)合的,即a = b = c被處理為a = (b = c)。
    Python運(yùn)算符優(yōu)先級(jí)排行榜

  3. 在一個(gè)表達(dá)式中可能包含多個(gè)有不同運(yùn)算符連接起來的、具有不同數(shù)據(jù)類型的數(shù)據(jù)對(duì)象;由于表達(dá)式有多種運(yùn)算,不同的運(yùn)算順序可能得出不同結(jié)果甚至出現(xiàn)錯(cuò)誤運(yùn)算錯(cuò)誤,因?yàn)楫?dāng)表達(dá)式中含多種運(yùn)算時(shí),必須按一定順序進(jìn)行結(jié)合,才能保證運(yùn)算的合理性和結(jié)果的正確性、唯一性。優(yōu)先級(jí)從上到下依次遞減,最上面具有最高的優(yōu)先級(jí),逗號(hào)操作符具有最低的優(yōu)先級(jí)。表達(dá)式的結(jié)合次序取決于表達(dá)式中各種運(yùn)算符的優(yōu)先級(jí)。優(yōu)先級(jí)高的運(yùn)算符先結(jié)合,優(yōu)先級(jí)低的運(yùn)算符后結(jié)合,同一行中的運(yùn)算符的優(yōu)先級(jí)相同。

以下是實(shí)例

# coding=utf-8
#優(yōu)先級(jí)的簡(jiǎn)單實(shí)例
priorityNumber=2+1*4
print priorityNumber #輸出結(jié)果:6


#優(yōu)先級(jí)使用實(shí)例
#以下優(yōu)先級(jí)排名從高到低,在同一運(yùn)算中,先執(zhí)行優(yōu)先級(jí)高的再執(zhí)行低的,以此類推。

#Top 1:函數(shù)調(diào)用、尋址、下標(biāo)

#Top 2:冪運(yùn)算**
priorityNumber=2*2**3
print priorityNumber #輸出結(jié)果:16

#Top 3:翻轉(zhuǎn)運(yùn)算~

#Top 4:正負(fù)號(hào)
print 1+2*-3 #輸出結(jié)果:-5

#Top 5:*、/、%
print 2+1*2/5 #輸出結(jié)果:2

#Top 6:+、-
print 3<<2+1 #輸出結(jié)果:24

#Top 7:<<、>>

#Top 8:按位&、^、|

#Top 9:比較運(yùn)算符
priority=2*3+2<=2+1*7
print priority #輸出結(jié)果:True

#Top 10:邏輯的not and or

#Top 11:lambda表達(dá)式

2.python運(yùn)算符優(yōu)先級(jí)使用規(guī)律: 
#python優(yōu)先級(jí)使用規(guī)律
#1、一般情況下是左結(jié)合的
#ps:在沒有更高優(yōu)先級(jí)運(yùn)算符,即只有同級(jí)運(yùn)算符時(shí)時(shí)從左到右結(jié)合
print 1+2+3*5+5 #輸出結(jié)果:23

#2、出現(xiàn)賦值的時(shí)候一般是右結(jié)合
#ps:在有賦值運(yùn)算符時(shí),是右結(jié)合,即先算出1+2的值以后再賦值給priority
priority=1+2
print priority #輸出結(jié)果:23

記憶小技巧:


#python運(yùn)算符優(yōu)先級(jí)大招
'''比如說有這個(gè)需求:
去商店買水,買3瓶水,每瓶5塊,再買一個(gè)綠箭(假設(shè)綠箭3塊),總共多少錢?
這個(gè)簡(jiǎn)單的應(yīng)用非常明顯,需要先用乘法再用加法,如果這里你忘記了乘法和加法的優(yōu)先級(jí),可以這樣:
'''
print (3*5)+3 #輸出結(jié)果:18

#ps: 這只是一個(gè)簡(jiǎn)單的例子,只是為了告訴大家實(shí)際應(yīng)用中實(shí)在不行咱就放大招。有備無(wú)患。
Python表達(dá)式


Python表達(dá)式基本概念: 
python中,值、變量和運(yùn)算符共同組成的整體稱為表達(dá)式
#python表達(dá)式
#1 字符串表達(dá)式
"Hello"

#2 計(jì)算表達(dá)式
2+3

#3 賦值表達(dá)式
first=0

#4 變量表達(dá)式
first

#5 值表達(dá)式

#等等

參考 https://www.sojson.com/operation/python.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容