0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点#pytho布尔运算 --- 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)

  1. 这是个短路运算符,因此只有在第一个参数为假值时才会对第二个参数求值。
  2. 这是个短路运算符,因此只有在第一个参数为真值时才会对第二个参数求值。
  3. ​not​​ 的优先级比非布尔运算符低,因此 ​​not a == b​​ 会被解读为 ​​not (a == b)​​ 而 ​​a == not b​​ 会引发语法错误。

比较运算

在 Python 中有八种比较运算符。 它们的优先级相同(比布尔运算的优先级高)。 比较运算可以任意串连;例如,此表格汇总了比较运算:​​x < y <= z​​​ 等价于 ​​x < y and y <= z​y 只被求值一次(但在两种情况下当 ​​x < y​z 都不会被求值)。

#yyds干货盘点#pytho布尔运算 --- and, or, not_布尔运算

除不同的数字类型外,不同类型的对象不能进行相等比较。​==​ 运算符总有定义,但对于某些对象类型(例如,类对象),它等于 ​is​ 。其他 ​<​​<=​​>​ 和 ​>=​ 运算符仅在有意义的地方定义。例如,当参与比较的参数之一为复数时,它们会抛出 ​TypeError​​​ 异常。

举报

相关推荐

0 条评论