在乙個表示式中可能包含多個有不同運算子連線起來的、具有不同資料型別的資料物件;由於表示式有多種運算,不同的運算順序可能得出不同結果甚至出現錯誤運算錯誤,因為當表示式中含多種運算時,必須按一定順序進行結合,才能保證運算的合理性和結果的正確性、唯一性。優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。表示式的結合次序取決於表示式中各種運算子的優先順序。優先順序高的運算子先結合,優先順序低的運算子後結合,同一行中的運算子的優先順序相同。
#coding=utf-8
#優先順序的簡單例項
prioritynumber=2+1*4
print prioritynumber #
輸出結果:6
#優先順序使用例項
#以下優先順序排名從高到低,在同一運算中,先執行優先順序高的再執行低的,以此類推。
#top 1:函式呼叫、定址、下標
#top 2:冪運算**
prioritynumber=2*2**3
print prioritynumber #
輸出結果:16
#top 3:翻轉運算~
#top 4:正負號
print 1+2*-3 #
輸出結果:-5
#top 5:*、/、%
print 2+1*2/5 #
輸出結果:2
#top 6:+、-
print 3<<2+1 #
輸出結果:24
#top 7:<<、>>
#top 8:按位&、^、|
#top 9:比較運算子
priority=2*3+2<=2+1*7
print priority #
輸出結果:true
#top 10:邏輯的not and or
#top 11:lambda表示式
2.python運算子優先順序使用規律:
#python優先順序使用規律
#1、一般情況下是左結合的
#ps:在沒有更高優先順序運算子,即只有同級運算子時時從左到右結合
print 1+2+3*5+5 #
輸出結果:23
#2、出現賦值的時候一般是右結合
#ps:在有賦值運算子時,是右結合,即先算出1+2的值以後再賦值給priority
priority=1+2
print priority #
輸出結果:23
大家可能會覺得python運算子的優先順序不容易記憶,而且有時候還容易混淆。在實際運用中根據業務邏輯可能我們知道要先做什麼再做什麼,但是卻忘記python運算子的優先順序了,該怎麼辦?這裡教大家乙個殺手鐗,絕對百試不爽。
#python運算子優先順序大招
'''比如說有這個需求:
去商店買水,買3瓶水,每瓶5塊,再買乙個綠箭(假設綠箭3塊),總共多少錢?
這個簡單的應用非常明顯,需要先用乘法再用加法,如果這裡你忘記了乘法和加法的優先順序,可以這樣:
'''print (3*5)+3 #
輸出結果:18
#ps: 這只是乙個簡單的例子,只是為了告訴大家實際應用中實在不行咱就放大招。有備無患。
python表示式
python表示式基本概念:
python中,值、變數和運算子共同組成的整體稱為表示式
#python表示式
#1 字串表示式
"hello"#
2 計算表示式
2+3#
3 賦值表示式
first=0
#4 變數表示式
first
#5 值表示式
#等等
運算子優先順序 Python 運算子優先順序
python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...
運算子優先順序 C 運算子優先順序
c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...
運算子優先順序 PHP運算子優先順序
php運算子優先順序 結合方向 運算子附加資訊 非結合clone new clone 和 new左 array 非結合 遞增 遞減運算子 非結合 int float string array object bool 型別非結合 instanceof 型別右結合 邏輯操作符 左 算術運算子 左 算術運...