python - 'and' N 'or' 在 python 中到底是什么意思?

标签 python

我现在真的很困惑,如果你遇到这样的表达式,在我的程序思维模型中

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 特有的。 andor 不是总是返回 True/False,而是返回两个操作数之一的值。

下面是一个很好的解释:The Peculiar Nature of and and or .

关于python - 'and' N 'or' 在 python 中到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13602577/

相关文章:

python - 没有反向匹配 : Reverse for 'deleted' with no arguments not found. - Django

python - 如何删除列表中重复的 "keys"并计算值的平均值

python - Django - 如何安装 Python 图像库 (PIL)

python - Pygame 和多处理策略

python - Flask-Restful 中的中止方法忽略 CORS 选项

python - 如何为 4d 张量中的 k 个最大元素创建一个单热张量?

python - 用于在python中连接数据excel数据的循环文件名?

服务器上每个用户的 Python 进度条

Python Socket WebChat,我不明白 Select.select() 及其工作原理

python - 对 ipython 笔记本中的下拉小部件中的值进行排序