我只是在Python中胡闹,虽然我知道布尔逻辑是如何处理'True‘或’False‘的……但我不能理解当你使用其他术语时的结果。例如,如果我在Python中键入:
"bear" and "dog"
"1 and 6"
"crab" or "food"输出为:
'dog'
6
'crab'为什么?我没有将这两个变量中的任何一个赋值为'True‘或'False',那么Python如何知道输出哪个变量呢?你如何判断哪个是“真”,哪个是“假”?
抱歉,如果这是张贴在什么地方;我试着寻找,但不确定这类问题的关键术语是什么。
发布于 2015-11-18 07:13:58
这是你看到的一种特殊情况,这里:
通常,您不会关心a and b的实际值,而只关心它的值是否为True。
这里发生的情况是,如果计算结果为True,则or返回第一个值,否则返回第二个值,因此
if a or b:如果a的计算结果为True,则实际运行if a,否则运行if b。
and的工作方式正好相反:如果第一个操作数的计算结果为True,则返回第二个操作数(仅当两个操作数的计算结果均为True时,a and b才为True ),否则返回第一个操作数。
如果你有一条语句应该只在另一件事为False时执行,这真的很方便。
function_that_might_return_false_on_error() or die_horribly()https://stackoverflow.com/questions/33768821
复制相似问题