Ril*_*wan 3 python logical-operators python-2.7
为什么我在python中尝试的以下逻辑操作的输出不同?
-1 or 1 1 or -1
第一次返回-1和第二次返回1
-1
1
nne*_*neo 8
and而且or都懒惰 ; 它们会评估操作数,直到它们可以决定结果(and在第一个False操作数处or停止; 在第一个True操作数处停止).它们返回评估的最后一个操作数,如文档中所述:
and
or
False
True
需要注意的是既不and也不or限制他们返回的值和类型False和True,而是返回最后一个变量.这有时是有用的,例如,如果s是一个字符串,如果它是空的,应该用默认值替换,表达式s or 'foo'产生所需的值.
s
s or 'foo'
Bre*_*arn 7
阅读文档:
表达式x or y首先评估x; 如果x为真,则返回其值; 否则,y将评估并返回结果值.
x or y
x
y
归档时间:
12 年,6 月 前
查看次数:
186 次
最近记录: