在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
或任何其他值,如果它是None
,some_var
应填充'default'
。
但是我一直遇到一些麻烦,所以,调试我的代码我发现other_var
有时是0
(或任何其他值为False
),{ {1}}已填充some_var
而不是'default'
。
那么,有没有办法完成我正在尝试而不是这样做?
0
否是有效答案。
答案 0 :(得分:6)
是 Conditional Expression(又名“三元运算符”)语法:
some_var = 'default' if other_var is None else other_var
快乐的编码。