布尔运算 ---and,or,not 这些属于布尔运算,按优先级升序排列: 运算 结果: 备注 xory ifxis false, theny, elsex (1) xandy ifxis false, thenx, elsey (2)
布尔运算 --- and, or, not
这些属于布尔运算,按优先级升序排列:
运算
结果:
备注
x or y
if x is false, then y, else x
(1)
x and y
if x is false, then x, else y
(2)
not x
if x is false, then True, else False
(3)
注释:
比较运算
在 Python 中有八种比较运算符。 它们的优先级相同(比布尔运算的优先级高)。 比较运算可以任意串连;例如,x < y <= z 等价于 x < y and y <= z,前者的不同之处在于 y 只被求值一次(但在两种情况下当 x < y 结果为假值时 z 都不会被求值)。
此表格汇总了比较运算:
运算
含意
<
严格小于
<=
小于或等于
>
严格大于
>=
大于或等于
==
等于
!=
不等于
is
对象标识
is not
否定的对象标识
除不同的数字类型外,不同类型的对象不能进行相等比较。== 运算符总有定义,但对于某些对象类型(例如,类对象),它等于 is 。其他 <、<=、> 和 >= 运算符仅在有意义的地方定义。例如,当参与比较的参数之一为复数时,它们会抛出 TypeError 异常。
is 和 is not 运算符无法自定义;并且它们可以被应用于任意两个对象而不会引发异常。
还有两种具有相同语法优先级的运算 in 和 not in,它们被 iterable 或实现了 __contains__() 方法的类型所支持。