一日一技:在Python中“ and”和“&”之间的区别.
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中评估语句。