模仿javascript ||的Python运算符操作者

时间:2011-11-13 12:23:28

标签: python

我是Python的新手,所以也许不知道这是否是显而易见的。

在Javascript a||b中,如果将a评估为true,则返回a,否则返回b。 除了冗长的if else语句之外,这在Python中是否可行。

4 个答案:

答案 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做同样的事情。