0%

python基础学习三

表达式

定义:

表达式:是运算符和操作数所构成的序列。a = [1,2,3]、a > b是表达式,1 + 1也是表达式,a = 1 + 2 * 3也是表达式,=也是运算符(赋值运算符)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
>>> a=1
>>> b = 2
>>> c = 3
>>> a + b * c
7
>>> a or b and c
1
//and优先级高于or,以下是对a or b and c的分解,b和c先做与运算,得到的结果再与a做或运算。
>>> a or b and c
1
>>> b and c
3
>>> 1 or 3
//逻辑运算符优先级最低,**运算符最高(指数运算),and优先级高于or。
运算规则:如果操作符优先级同级,解释器就从左向右运算, 3 + 2 -1:从左向右运算。如果想强制让解释器按照自己的要求进行运算的顺序调整,用括号,括号的优先级最高,如果有两个括号?那就是从第一个开始运算,然后两个括号的运算结果再进行运算。从左至右:左结合。通常都是左结合;但是也有特例,赋值运算符,c = a + b;先运算a + b,再赋值给c,而不能是c = a,再与b相加。再如:c = a or b; = 的优先级比or高,但是还是a和b运算,再赋值给c。

>>> not a or b + 2 == c //左结合规则(没有赋值运算符)
False
它等价于:
>>> (not a) or ((b + 2) == c)
False
优先级:not > and > or

>>> not a or b + 2 == c
False
>>> (not a )or ((b + 2) == c)
False
//可以用括号辅助理解,根据运算符号的优先级。优先级:算术运算符优先级 > 比较运算符 > 逻辑运算符。