Python运算符优先级

下表列出了从最高优先级到最低优先级的所有运算符。

序号运算符和说明
1**
求幂(提高幂)
2〜+-
补码,一元加号和减号(最后两个的方法名称为+ @和-@)
3* /%//
乘法,除法,模和底除
4+-
加减法
5>> <<
左右位移
6
按位'AND'td>
7^ |
按位异或“ OR”和常规“ OR”
8<= <>> =
比较运算符p >
9<> ==!=等于
运算符
10=%= / = // =-= + = * = ** =
赋值运算符
11是不是
不是
12在非
会员运算符中
13不是或与
逻辑运算符

运算符优先级会影响表达式的求值方式。

例如,x = 7 + 3 * 2; 在这里,x被赋值为13,而不是20,因为运算符*的优先级比+高,因此它先乘以3 * 2,然后加到7。

在此,优先级最高的运算符出现在表格的顶部,优先级最低的运算符出现在表格的底部。

示例

#!/usr/bin/python
a = 20
b = 10
c = 15
d = 5
e = 0
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

输出结果

当您执行上述程序时,它将产生以下结果-

Value of (a + b) * c / d is 90
Value of ((a + b) * c) / d is 90
Value of (a + b) * (c / d) is 90
Value of a + (b * c) / d is 50