Python中逻辑和运算符的介绍

237 阅读2分钟

Python有两类相关的、令人困惑的运算符:

  1. 逻辑运算符
  2. 位操作符

如果你想使用逻辑和运算符,那么就使用and,对于逻辑或运算符,就使用or,而逻辑非运算符,就使用not。在Python中,&和|是位操作符,所以不要混淆这些运算符。

Python中的和

要在Python中使用and运算符,使用关键字and而不是**&&** ,因为Python中没有**&&运算符**。如果你在Python中使用&&运算符,你会得到SyntaxError。同样,||和!也不是有效的Python操作符。所以请使用ornot 操作符。

逻辑运算符表

操作符 (其他语言)与Python相当的操作符
&&
||
!不是

另外,逻辑运算符在Python中还有位数/二进制运算符:

逻辑运算符比特运算符
&
|

逻辑运算符的优点是它们是短路的。这意味着如果第一个操作数已经定义了结果,那么第二个操作数就根本不会被评估。

正如我们所知, and是Python中的逻辑 运算符,如果操作数都是真,则返回

x = 19
y = 21

print(x and y)

输出

21

我们得到21,因为'and'测试两个表达式在逻辑上是否为

这里,编译器检查语句是 还是。然而,如果第一条语句是假的,它就不检查第二条语句,而是立即返回假的。这就是所谓的"懒惰评估"。

如果第一条语句是"真",则检查第二条条件,并根据AND操作的规则。

只有当两个语句都是"真 "时,结果才是 ""。

Python中的&(Bitwise)

&是Python中的一个位操作符,它作用于位,进行逐位操作:

x = 19
y = 21

print(x & y)

输出

17

&'对两个语句的结果进行顺时针和操作。

这就是Python中的和。

参见

Python XOR

Python 不在

Python 合并操作符