如果我将一个变量设置为 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/