Python 避免将0和其他值计算为False
在Python中,有几个值计为Python 避免将0和其他值计算为False,python,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 其他
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\u var
有时是0
(或者任何其他值都算作False
),并且一些变量
填充了“default”
,而不是0
那么,有没有办法完成我正在尝试的事情而不是这样做
if other_var is None:
some_var = 'default'
else:
some_var = other_var
否是一个有效的答案。有(也称为“三元运算符”)语法:
愉快的编码。你可以使用
t if expr else f
语法。@Nate这仍然不起作用(用other_var=0
试试看)@julio.alegria哇!完全误解了你的问题。:^)我希望这是最好的方法,因为我一直在使用这个东西,我不想改变我所有的旧代码!仅供参考,这大致相当于C的some\u var=other\u var?其他变量:默认值
some_var = 'default' if other_var is None else other_var