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