我只是在Python中愚弄,虽然我理解布尔逻辑如何使用'True'或'False'...当你使用其他术语时我不理解结果。例如,如果我输入Python:
"bear" and "dog"
"1 and 6"
"crab" or "food"
输出是:
'dog'
6
'crab'
为什么呢?我没有将这些变量中的任何一个分配给'True'或'False',那么Python如何知道要打印哪一个?你如何确定哪个是'真',哪个是'假'?
很抱歉,如果这张贴在某个地方;我试着看,但不确定这类问题的关键术语是什么。
答案 0 :(得分:2)
这是一个特殊情况,你在这里看:
通常情况下,您不会关心a and b
的实际值,而只关心它是否评估为True
。
这里发生的是or
如果评估为True
则返回第一个值,否则返回第二个值,所以
if a or b:
如果if a
评估为a
,实际上会True
,如果不是if b
,则会and
。
True
反之亦然:如果第一个操作数的计算结果为a and b
,则返回第二个操作数(True
为True
,前提是它们都计算为False
}),否则返回第一个。
如果你的语句只能在另一个事物是function_that_might_return_false_on_error() or die_horribly()
时执行,那么这非常方便。
type: Vendor[]