python - 惯用的 Python - 检查零

标签 python pep8 idioms

在 Python 中检查零值的惯用方法是什么?

if n == 0:

if not n:

我认为第一个更符合明确的精神,但另一方面,检查空序列或 None 类似于第二个示例。

最佳答案

如果你想检查零,你应该使用if n == 0。您的第二个表达式不检查零,它检查任何评估为 false 的值。

我认为答案在于您的要求;您真的要检查零,还是要处理很多 n 可能是非数字类型的情况?

本着准确回答问题的精神,我认为 n == 0 是可行的方法。

以下是使用 not n 路由的错误之处:

>>> def isZero(n):
...    return not n;
... 
>>> 
>>> isZero([])
True
>>> isZero(False)
True
>>> isZero("")
True
>>> 

大多数人会说这个“isZero”函数不正确。

关于python - 惯用的 Python - 检查零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23610416/

相关文章:

python - 如何使用 pandas 和每月 groupby 绘制时间序列?

python - 用属性链换行

Python 语言的细微差别

python - 包装超过 80 个字符的 python doctest 结果

python - 惯用的 python,管理函数中的默认参数

dictionary - 是 "bad form"在一条语句中进行map lookup和type assertion吗?

python - 寻找最接近给定值的路径旅行成本

python - 如何强制 Django 忽略任何缓存并重新加载数据?

python - 从python中的日期字符串中提取年份

java - 使用内置的 Guice 注入(inject)来注释静态 java.util.Logger 实例的正确习惯用法是什么?