短路逻辑和运算符
1. 短路逻辑
and 和 or 这两个运算符都是遵从短路逻辑的。
短路逻辑的核心思想就是:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
2. 运算符优先级
这个表格从低到高列出了 Python 的运算符优先级:
优先级
|
运算符
|
描述
|
1
|
lambda
|
Lambda表达式
|
2
|
if - else
|
条件表达式
|
3
|
or
|
布尔“或”
|
4
|
and
|
布尔“与”
|
5
|
not x
|
布尔“非”
|
6
|
in, not in, is, is not, <, <=,>, >=, !=, ==
|
成员测试,同一性测试,比较
|
7
|
|
|
按位或
|
8
|
^
|
按位异或
|
9
|
&
|
按位与
|
10
|
<<, >>
|
移位
|
11
|
+, -
|
加法,减法
|
12
|
*, @, /, //, %
|
乘法,矩阵乘法,除法,地板除,取余数
|
13
|
+x,-x, ~x
|
正号,负号,按位翻转
|
14
|
**
|
指数
|
15
|
await x
|
Await表达式
|
16
|
x[index], x[index:index],x(arguments...), x.attribute
|
下标,切片,函数调用,属性引用
|
17
|
(expressions...), [expressions...],{key: value...}, {expressions...}
|
绑定或元组显示,列表显示,字典显示,集合显示
|