如果我要将一个变量设置为 False,它被读取为等于零。有什么方法可以检查变量是否真的为 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
