在Python中,检查一个值是否为零的惯用方法是什么?
if n == 0:
或者
if not n:
我认为第一个更符合显式的精神,但另一方面,空序列或None与第二个示例类似地进行检查。
if n == 0
。您的第二个表达式并不是检查零,它检查任何被评估为 false 的值。n == 0
是正确的方法。not n
路线的问题:>>> def isZero(n):
... return not n;
...
>>>
>>> isZero([])
True
>>> isZero(False)
True
>>> isZero("")
True
>>>
;
? - glglgl;
是因为有时候会同时使用多种编程语言,容易混淆。 - FrobberOfBits我非常赞同“说出你的意思”的观点。你的两个陈述意思不同。第一个意思是:
如果n等于0
而第二个意思是:
如果n的真值为False
虽然它们在实践中对于整数有相同的效果,但实际意义应该决定你使用哪个。
is not None
来测试None
。 - jonrsharpe