Yug*_*dle 1 python boolean-logic boolean boolean-expression boolean-operations
据我所知 :
and,or是布尔运算符,任何布尔表达式都应该返回一个布尔值.
那么,为什么会发生这种情况:
False or 'name'返回'name'而不是TrueTrue and ''返回''而不是False请解释一下,python如何处理布尔表达式?
不,在python中or和and操作短路并返回最后一个评估项.
请参阅布尔运算:
表达式
x and y首先评估x; 如果x为false,则返回其值; 否则,y将评估并返回结果值.表达式
x or y首先评估x; 如果x为真,则返回其值; 否则,y将评估并返回结果值.
如果必须具有布尔值,请使用bool():
>>> bool(False or 'name')
True
Run Code Online (Sandbox Code Playgroud)