我现在真的很困惑,如果你遇到这样的表达式,在我的程序思维模型中
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
.
关于python - 'and' N 'or' 在 python 中到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13602577/