Python-布尔运算符与按位运算符

我对何时应该使用布尔运算符与按位运算符感到困惑

  • and&
  • or|

有人能启发我何时使用每种药物,何时使用一种药物会影响我的结果?

回答:

以下是一些准则:

  • 布尔运算符通常用于布尔值,而按位运算符通常用于整数值。
  • 布尔运算符是短路,但按位运算符不是短路。

短路行为在这样的表达式中很有用:

if x is not None and x.foo == 42:

# ...

按位运算&符将无法正常工作,因为总是会评估双方,即AttributeError: 'NoneType' object has no attribute 'foo'。当你使用布尔and运算符时,如果第一个为False,则不计算第二个表达式。同样or,如果第一个参数为True,则不评估第二个参数。

以上是 Python-布尔运算符与按位运算符 的全部内容, 来源链接: utcz.com/qa/430451.html

回到顶部