关于 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 是一个 Falsey 值:

>>> bool(None)
False

所以你有 True and False,计算结果为 False