Python - 任何检查数字 0 或 False 的方法

标签 python

如果我将一个变量设置为 False,它会被读取为等于 0。有什么方法可以检查变量是否确实为 False 或者是否为数字 0。

类似于:

Spam = False

if Spam == False and not Spam == 0:
    do something

我感觉这是不可能的;但我想仔细检查一下。

旁注:将来当变量可能为零时,分配“None”而不是“False”会更好吗?对于当前代码,我不想使用 try 和 excepts 重新编写整个脚本,因此我将 False 更改为 -1(对于这种情况来说不是一个可行的值)。但为了将来的引用,我认为 None 方法更Pythonic?

我们一如既往地提供帮助,如果需要更多详细信息,请询问。

最佳答案

您可以通过测试身份来测试对象是否 False 单例值:

if Spam is False:

你真的应该重构你的代码,不必依赖这里的类型; None 是一个更好的 false-y 哨兵值,是的。

一般情况下,使用 None 作为哨兵,表示“未设置值”,或者如果您也应该支持 None,请使用唯一的对象作为哨兵:

_sentinel = object()

# ...


if option is _sentinel:
    # no value set

关于Python - 任何检查数字 0 或 False 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60347098/

相关文章:

python - 如何读取 Sphinx 扩展节点中的 conf.py 设置?

python - 无法在 Ubuntu Linux 中使用 pip 安装 Python 包 : InsecurePlatformWarning, SSLError,tlsv1 警报协议(protocol)版本

python - 如何使嵌入式Python解释器的本地空间与全局空间共享一些变量

python - 使用 NumPy 进行 Procrustes 分析?

python - 在 json 中存储 pandas 数据框时保持列和行顺序

python - 转义 ls -R 生成的文件名

python - 使用 sqlite3 在 python 中删除表

python - 从远程 Windows 虚拟机复制文件

python - 选择 pandas 分组中的每一个

python - 如何启动自毁的 Python/Tkinter 对话框?