首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请给我解释一下这个布尔代码是如何工作的。

请给我解释一下这个布尔代码是如何工作的。
EN

Stack Overflow用户
提问于 2015-11-18 07:08:23
回答 1查看 65关注 0票数 0

我只是在Python中胡闹,虽然我知道布尔逻辑是如何处理'True‘或’False‘的……但我不能理解当你使用其他术语时的结果。例如,如果我在Python中键入:

代码语言:javascript
复制
"bear" and "dog"
"1 and 6"
"crab" or "food"

输出为:

代码语言:javascript
复制
'dog'
6
'crab'

为什么?我没有将这两个变量中的任何一个赋值为'True‘或'False',那么Python如何知道输出哪个变量呢?你如何判断哪个是“真”,哪个是“假”?

抱歉,如果这是张贴在什么地方;我试着寻找,但不确定这类问题的关键术语是什么。

EN

回答 1

Stack Overflow用户

发布于 2015-11-18 07:13:58

这是你看到的一种特殊情况,这里:

通常,您不会关心a and b的实际值,而只关心它的值是否为True

这里发生的情况是,如果计算结果为True,则or返回第一个值,否则返回第二个值,因此

代码语言:javascript
复制
if a or b:

如果a的计算结果为True,则实际运行if a,否则运行if b

and的工作方式正好相反:如果第一个操作数的计算结果为True,则返回第二个操作数(仅当两个操作数的计算结果均为True时,a and b才为True ),否则返回第一个操作数。

如果你有一条语句应该只在另一件事为False时执行,这真的很方便。

代码语言:javascript
复制
function_that_might_return_false_on_error() or die_horribly()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33768821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档