在 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
应该填'默认'
。
但我一直遇到一些麻烦,所以,调试我的代码时,我发现 other_var
有时是 0
(或任何其他算作 的值False
),并且 some_var
填充了 'default'
而不是 0
。
那么,有没有一种方法可以完成我正在尝试的事情而不是这样做?
if other_var is None:
some_var = 'default'
else:
some_var = other_var
否是一个有效的答案。
最佳答案
是 Conditional Expression (又名“三元运算符”)语法:
some_var = 'default' if other_var is None else other_var
快乐编码。
关于python - 避免 0 和其他算作 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423957/