1.4 运算符的优先级

(1)运算符的计算有优先级
有时候,一个表达式里可能存在很多运算符,那么,这时就需要注意计算的优先顺序,比如加法和乘法同时存在的时候,首先进行乘法运算,然后再进行加法运算。在Python中也是一样,这称为运算符的优先级。优先级相同时,从左到右进行计算;优先级不同时,从优先级高的运算符进行计算。下面举两个例子,如下图所示。

Python中运算符的优先级如下表所示:
|
顺序 |
运算符 |
说明 |
|
1 |
(表达式)、[表达式]、{key:value}、{表达式} |
各种括号的表达式运算 |
|
2 |
await |
await 表达式运算 |
|
3 |
** |
幂运算 |
|
4 |
+值,-值,- |
正数、负数、bit单位的not运算 |
|
5 |
*、@、/、//、% |
乘、行列计算、除、求整、求余 |
|
6 |
+、- |
加、减 |
|
7 |
<<、>> |
位运算 |
|
8 |
& |
bit单位的and |
|
9 |
^ |
bit单位的xor |
|
10 |
| |
bit单位的or |
|
11 |
in、notin、is、is not、<、<=、>、 >=、 !=、 == |
比较运算 |
|
12 |
not |
逻辑运算的not |
|
13 |
and |
逻辑运算的and |
|
14 |
or |
逻辑运算的or |
|
15 |
if~else |
条件运算 |
|
16 |
lambda |
lambda表达式 |

(2)优先级相同的运算符如何计算
运算符的优先级相同时,遵循从左到右的计算顺序,比如下面这个例子:

那么,代码的解读如下:

使用在线云编辑器,输入上面的代码,执行效果如下:

(3)优先级不同的运算符如何计算
运算符优先级不同时,先从优先级较高的运算符开始计算。比如“+”和“*”,会先进行“*”运算,然后再进行“+”运算。看下面这个例子:

上面的代码解读如下:

使用在线云编辑器,输入上面的代码,执行效果如下:

(4)使用“()”,调整运算符的优先级
有的时候,我们想让优先级较低的运算符优先计算,这时就可以使用“()”来完成。“()”的作用是让“()”内的运算优先级一直最高,优先计算。来看下面的例子:

上面的代码解读如下:

使用在线云编辑器,输入上面的代码,执行效果如下:

挑战一下
如果你学完了今天的知识内容,动手试试下面的挑战任务吧!
挑战(1):输出验证码界面
在云编辑器中,输出验证码的界面。实现效果如下图所示:
【源代码:资源包\第1天\1-4-挑战1.py】

挑战(2):输出微信红包
在云编辑器中,输出微信红包。实现效果如下图所示:
【源代码:资源包\第1天\1-4-挑战2.py】


浙公网安备 33010602011771号