目录
1. 运算符
1.1 运算符的概念
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
1.2 运算符的分类
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
2. 算术运算符
- 四则运算中的
+
,-
,*
,/
//
整除,只会保留计算后的整数位,总会返回一个整型%
取模,求两个数相除的余数**
幂运算,求一个值的几次幂
3. 赋值运算符
赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的
+=
(x+= 3 相当于 x = x + 3 )-=
(x -= 3 相当于 x= x - 3 )*=
(x = 3 相当于 x = x 3 )**=
(x **= 3 相当于 x = x ** 3 )/=
(x /= 3 相当于 x = x/ 3 )//=
(x //= 3 相当于 x = x // 3 )%=
(x %= 3 相当于 x= x % 3 )
4. 比较运算符
- 比较运算符用来比较两个值之间的关系,总会
返回一个布尔值
。如果关系成立,返回True,否则返回False >
比较左侧值是否大于右侧值>=
比较左侧的值是否大于或等于右侧的值<
比较左侧值是否小于右侧值<=
比较左侧的值是否小于或等于右侧的值- 特殊的比较方式
==
比较两个对象的值是否相等!=
比较两个对象的值是否不相等is
比较两个对象是否是同一个对象,比较的是对象的idis not
比较两个对象是否不是同一个对象,比较的是对象的id
5. 逻辑运算符
5.1 not 逻辑非
- not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行
取反
操作,True变False,False变True
5.2 and 逻辑与
- and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
- 与运算是找False的,如果第一个值为False,则不再看第二个值
5.3 or 逻辑或
- 或运算两个值中只要有一个True,就会返回True
- 或运算是找True的
5.4 非布尔值的与或运算
- 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
- 非布尔值与运算的规则
- 与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值
- 非布尔值或运算的规则
- 或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值
6. 条件运算符(三元运算符)
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
语法: 语句1 if 条件表达式 else 语句2
7. 运算符的优先级
运算符优先级参照表
Operator | Description |
---|---|
:= Assignment | expression |
lambda | Lambda expression |
if – else | Conditional expression |
or | Boolean OR |
and | Boolean AND |
not x | Boolean NOT |
in, not in, is, is not, <, <=, >, >=, !=, == | Comparisons, including membership tests and identity tests |
| | Bitwise OR |
^ | Bitwise XOR |
& | Bitwise AND |
<<, >> | Shifts |
+, - | Addition and subtraction |
*, @, /, //, % | Multiplication, matrix multiplication, division, floor division, remainder 5 |
+x, -x, ~x | Positive, negative, bitwise NOT |
** | Exponentiation 6 |
await x | Await expression |
x[index], x[index:index], x(arguments…), x.attribute | Subscription, slicing, call, attribute reference |
(expressions…),[expressions…], {key: value…}, {expressions…} | Binding or parenthesized expression, list display, dictionary display, set display |
8.练习
现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
a = 'a'
b = 'b'
c = 'c'
d = (a if a > b else b) if (a if a > b else b) > c else c
print(d)
结果如下:
c