无法理解,如果 None 不等于零,那么下面的 if 条件如何通过?
>>> None == 0
False
>>> if not None:
... print ("1")
...
1
>>>
>>> None == False
False
>>>
最佳答案
python 中有很多东西在 bool 上下文中使用时被认为是“假的”(比如 if 语句或 bool 运算符,如 and
、not
、或
等)。
特别是 None、False、任何比较等于 0
的数字数据类型,或任何实现 __len__
且 len(container) == 的类型0
。
有关更多信息,请考虑:
>>> bool(False)
False
>>> bool(0)
False
>>> bool([])
False
>>> bool('')
False
>>> bool(None)
False
>>> not None
True
>>> not 0
True
>>> not False
True
>>> not ''
True
>>>
有关详细信息,请参阅 docs
关于python - 如果 None != 0 那么这个条件是如何通过的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34071626/