在Python中检查零值的惯用方法是什么?
if n == 0:
或
if not n:
我认为第一个更符合明确的精神,但另一方面,空序列或无类似于第二个例子。
答案 0 :(得分:2)
如果要检查零,则应使用if n == 0
。您的第二个表达式不检查零,它会检查任何计算结果为false的值。
我认为答案在于你的要求;你真的想检查零,还是想要处理n可能是非数字类型的很多情况?
本着回答问题的精神,我认为n == 0
是可行的方法。
这是not n
路线的错误:
>>> def isZero(n):
... return not n;
...
>>>
>>> isZero([])
True
>>> isZero(False)
True
>>> isZero("")
True
>>>
大多数人会说这是" isZero"功能不正确。
答案 1 :(得分:2)
我是说出你的意思的重要支持者。你的两个陈述意味着不同的东西第一个意思是:
如果n等于0
而第二种意思是:
如果n的真值是假的
虽然它们在实践中具有相同的效果 for integers ,但实际意义应该决定你使用哪种效果。