python - 如果 None != 0 那么这个条件是如何通过的

标签 python

无法理解,如果 None 不等于零,那么下面的 if 条件如何通过?

>>> None == 0
False
>>> if not None:
...   print ("1")
...
1
>>>
>>> None == False
False
>>>

最佳答案

python 中有很多东西在 bool 上下文中使用时被认为是“假的”(比如 if 语句或 bool 运算符,如 andnot等)。

特别是 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/

相关文章:

python - Coinbase Python API 上的分页

python - 如何编写 python scrapy 代码以提取站点站点地图中存在的 url

python mock.mock_reset() 返回模拟而不是重置模拟

python - 使用 python 在 SQLite 数据库中重复写入数据

Python - 将 24 个字符的人类可读日期格式(如 'Tue May 16 04:10:55 PDT 2017')转换为 yyyy-mm-dd?

python - 从 python 调试器将变量保存到交互式命名空间

Python-如何合并而不更新两个字典,其中字符串作为键,值作为字符串列表?

python - 如何实现从 Mechanize 到pycurl的登录切换

python - 如果线程处于无限 while 循环中,会发生什么情况?

python - Python中的默认参数是静态的吗?