Python中模拟JavaScript中||运算符的操作符
我刚学Python,所以可能不太清楚这是不是显而易见的。
在JavaScript中,a||b
的意思是:如果的值为真,就返回,否则返回。
在Python中,有没有其他简单的方法来实现这个功能,而不是写很长的if else语句呢?
4 个回答
3
你可以简单地这样做:
a or b
如果你需要更复杂的逻辑(仅适用于Python 2.5及以上版本):
x if a > b else y
这和你可能在Javascript中见过的东西是一样的:
a > b ? x : y;
3
在Python中,你可以使用类似下面的代码:
result = a or b
这段代码的意思是,如果变量不是假值(也就是说,它不是空的,不是零长度,也不是None),那么结果会是result=a
;否则,结果会是result=b
。
30
我觉得这个说法是对的:
x = a or b
证明
在JavaScript中,"||
"是这样工作的:
> 'test' || 'again'
"test"
> false || 'again'
"again"
> false || 0
0
> 1 || 0
1
在Python中,"or
"是这样工作的:
>>> 'test' or 'again'
'test'
>>> False or 'again'
'again'
>>> False or 0
0
>>> 1 or 0
1