避免0和其他人计为False

时间:2011-12-07 23:08:22

标签: python

在Python中,有几个值计为False

>>> if False or None or 0 or 0.0 or '' or [] or {} or set():
...   print 'True :)'
... else:
...   print 'False :('
... 
False :(

所以,在我的代码中,我正在做这样的事情:

    some_var = other_var or 'default' # Some default value

other_var可以是None或任何其他值,如果它是Nonesome_var应填充'default'

但是我一直遇到一些麻烦,所以,调试我的代码我发现other_var有时是0(或任何其他值为False),{ {1}}已填充some_var而不是'default'

那么,有没有办法完成我正在尝试而不是这样做?

0

是有效答案。

1 个答案:

答案 0 :(得分:6)

Conditional Expression(又名“三元运算符”)语法:

some_var = 'default' if other_var is None else other_var

快乐的编码。