在Python,有算作False
几个值:避免0和其他算作虚假
>>> 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
任何其他值),并some_var
充满了'default'
而不是0
。
那么,有没有办法完成我所要做的而不是做这件事?
if other_var is None:
some_var = 'default'
else:
some_var = other_var
没有是一个有效的答案。
你可以使用't if expr else f'语法。 – 2011-12-07 23:12:20
@Nate,仍然无法正常工作(试用'other_var = 0') – juliomalegria
@ julio.alegria哎呀!完全误解你的问题。 :^) – Nate