Aar*_*ron 2 python-3.x nonetype
我很难理解这个
我试过:
if not None:
print('True')
Run Code Online (Sandbox Code Playgroud)
为什么它打印 True?不None应该是类型None吗?
所有Python 对象都有一个真值,请参阅真值测试。这包括None,在布尔上下文中被认为是假的。
此外,not运算符必须始终生成布尔结果,或者True或False。如果改为not None生产False,那么在已经bool(None)生产的情况下会令人惊讶False。
该None值是一个哨兵对象,一个信号值。您仍然需要能够测试该对象,并且它具有布尔值非常有帮助。举个例子:
if function_that_returns_value_or_None():
Run Code Online (Sandbox Code Playgroud)
如果None没有布尔值,则该测试将中断。