运算符优先级

 1 >>>a=20
 2 >>>b=15
 3 >>>c=10
 4 >>>d=5
 5 >>>e=0
 6 >>>e=(a-b)*c/d
 7 >>>print(e)
 8 10
 9 >>>print('(a-b)*c/d',e)
10 (a-b)*c/d  10.0
11 >>>print((a-b)*c/d,e)
12 10.0  10.0
13 >>>e=a-b*c/d
14 >>>print(e)
15 -10.0
16 #有括号先算括号里,没有括号,先乘除,后加减
17 #括号拥有最高优先级
1 >>>e=a+b+c-c*d
2 >>>print(e)
3 -5
4 >>>e=(a+b+c)-c*d
5 >>>print(e)
6 -5
7 #以上输入没有加括号,表达式本身没有问题,但看起不太直观,如加上括号,看起来就相对比较直观。运行结果也还是一样的,但一看就能明白该表达式的执行顺序是如何的。
 1 >>>2**1+2
 2 4
 3 >>>2**(1+2)
 4 8
 5 >>>2**2*3
 6 12
 7 >>>2**(2*3)
 8 64
 9 #乘方拥有次高级的优先级,有括号先算括号,没有括号,先算乘方;
10 
11 >>>a+b*c-d
12 165
13 >>>a*b/c+d
14 35
15 #乘除优先级相同,并且高于有相同优先级的加减法;
16 
17 >>>a+b-c+d
18 30
19 >>>a+b-c-d
20 20
21 #当优先级相同,按照自左向右的顺序求值。


end

原文地址:https://www.cnblogs.com/DLHe/p/7653536.html