关于 Python 中逻辑与的混淆
Confusion regarding logical AND in Python
以下是Python中的玩具示例:
a = 2
b= 10
result = a<b and print("Hello")
print(bool(result))
输出为:
Hello
False
为什么输出是False
而不是True
?由于 result
的计算结果为 a<b= 2<10 = True
,因此我们有 result = True and print()
= True and True
= True
。有人可以解释这个答案的原因吗?
print
returns None
:
>>> print("Hello") is None
True
和 None
是一个 False
y 值:
>>> bool(None)
False
所以你有 True and False
,计算结果为 False
。
以下是Python中的玩具示例:
a = 2
b= 10
result = a<b and print("Hello")
print(bool(result))
输出为:
Hello
False
为什么输出是False
而不是True
?由于 result
的计算结果为 a<b= 2<10 = True
,因此我们有 result = True and print()
= True and True
= True
。有人可以解释这个答案的原因吗?
print
returns None
:
>>> print("Hello") is None
True
和 None
是一个 False
y 值:
>>> bool(None)
False
所以你有 True and False
,计算结果为 False
。