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

发布于 2021-02-02 23:19:04

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

  • and&
  • or|

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

关注者
0
被浏览
90
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    以下是一些准则:

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

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

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看