Python3運算符優先級示例
下表列出所有從最高優先級到最低的運算符。
操作符
描述
**
冪運算
~ + -
補,一元加號和減號(方法名的最後兩個 +@ 和 -@)
* / % //
乘,除,模運算和地板除
+ -
加法和減法
>> <<
左,右按位移動
&
位元「與」
^ |
按位'異或'和常規 '或'
<= < > >=
比較運算符
<> == !=
操作符相等比較
= %= /= //= -= += *= **=
賦值運算符
is is not
標識 操作符
in not in
成員操作符
not or and
邏輯運算符
運算符優先級會影響如何計算一個表達式。
例如x = 7 + 3 * 2; 這裏,x被分配值爲13,而不是20因爲操作符* 優先級高於+,所以要首先相乘3 * 2,然後添加到7。
這裏,優先級最運算符放在表的頂部,而那些低的運算符放在底部。
示例
#!/usr/bin/python3
a = 20
b = 10
c = 15
d = 5
print ("a:%d b:%d c:%d d:%d" % (a,b,c,d ))
e = (a + b) * c / d #( 30 * 15 ) / 5
print ("Value of (a + b) * c / d is ", e)
e = ((a + b) * c) / d # (30 * 15 ) / 5
print ("Value of ((a + b) * c) / d is ", e)
e = (a + b) * (c / d) # (30) * (15/5)
print ("Value of (a + b) * (c / d) is ", e)
e = a + (b * c) / d # 20 + (150/5)
print ("Value of a + (b * c) / d is ", e)
當你執行上面的程序,它會產生以下結果 -
a:20 b:10 c:15 d:5
Value of (a + b) * c / d is 90.0
Value of ((a + b) * c) / d is 90.0
Value of (a + b) * (c / d) is 90.0
Value of a + (b * c) / d is 50.0