一日一技:在Python中“ and”和“&”之间的区别.

liftword5个月前 (12-11)技术文章60

and

and是一个逻辑运算符,如果两个操作数都为True,则返回True;而“&”是Python中的按位运算符,作用于位并执行逐位操作。

代码实例:

year = 1992

print (year%4==0 and (year%100==0 or year%400==0)) 
print (year%4==0 & (year%100==0 or year%400==0)) 

输出:

False
True

这是因为“and”测试两个表达式在逻辑上是否都为True,而“&'(与True / False值一起使用)则测试两个表达式是否均为True。 上面的打印语句在循环中用于决策时,可能会产生混乱的输出。 因此,建议在循环中使用布尔值和“ and”。

&运算符

代码举例:

a, b = 9, 10
print(a & b) 
print(a and b) 

输出:

8
10

第一行在a和b上按位执行;

第二行在print和printing answer中评估语句。