在python中,如何使用布尔值?

时间:2019-04-01 13:11:49

标签: python

print(1!=1 & 1!=1) print(1!=1 & 2!=2) 为什么两个返回不同的值?

1 个答案:

答案 0 :(得分:6)

&的{​​{3}}比!=高,因此您的陈述等同于

print(1!=(1 & 1)!=1)
print(1!=(1 & 2)!=2)

1&1为1,而1&2为0 *,因此等价于

print(1!=1!=1)
print(1!=0!=2)

因为!=支持precedence,所以这些等效于

print((1!=1) and (1!=1))
print((1!=0) and (0!=2))

等同于

print(False and False)
print(True and True)

等同于

print(False)
print(True)

(**如果您想“很奇怪,在布尔型上下文中求值时,我认为1和2都是True。不应该将它们和在一起求和为True吗?”,仅当您使用布尔AND运算符and,而不是按位AND运算符&。)