我是Python的新手,所以也许不知道这是否是显而易见的。
在Javascript a||b
中,如果将a
评估为true,则返回a
,否则返回b
。
除了冗长的if else语句之外,这在Python中是否可行。
答案 0 :(得分:15)
我认为这是正确的:
x = a or b
这就是" ||
"适用于JavaScript:
> 'test' || 'again'
"test"
> false || 'again'
"again"
> false || 0
0
> 1 || 0
1
这就是" or
"适用于Python:
>>> 'test' or 'again'
'test'
>>> False or 'again'
'again'
>>> False or 0
0
>>> 1 or 0
1
答案 1 :(得分:3)
在python中你可以使用类似的东西
result = a or b
如果a不是False(即不是None,不是空,不是0长度),可能会给你result=a
,否则你会得到result=b
答案 2 :(得分:3)
你可以简单地做
a or b
对于更复杂的逻辑(仅适用于Python 2.5及更高版本):
x if a > b else y
这相当于您可能从Javascript中熟悉的以下内容:
a > b ? x : y;
答案 3 :(得分:1)
x = a or b
做同样的事情。