运算符优先级

时间:2022-05-11 17:21:07
 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