Python 避免将0和其他值计算为False

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 其他

在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\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