我现在真的很困惑,如果你遇到这样的表达式,在我的程序思维模型中
expr = expr1 和 expr2
这意味着 expr 的类型必须是 Boolean,与“或”操作相同
看下面的代码,假设这三行将打印 bool 值
print(1==1 and 3)
print(1==2 and 3)
print(1==2 and 3 or 4)
但是结果是
3
False
4
我必须重新学习基本编程:
and和or的真正含义 'e1 and e2' 表示计算 e1 如果结果为 False 则返回 False 否则返回 e2 'e1 or e2' 表示计算 e1 如果结果为 True 则返回 True 否则返回 e2
我做对了吗?
请您参考如下方法:
此行为与 bool 逻辑本身并没有真正的关系。相反,它是 Python 特有的。 and 和 or 不是总是返回 True/False,而是返回两个操作数之一的值。
下面是一个很好的解释:The Peculiar Nature of and and or .
