Python中对应于'null'的是什么?
在Python中,对应于其他语言的null
使用的是关键字None
:
在Python惯例中,使用is
来检查变量是否没有设置成None
这个管理在案例declaring keyword functions with default parameters有详细说明。is
检查的是标识,这是因为在Python程序中None
只有一个实例,所以is
用来检查。
所以检查一个变量不是None
的时候,我们会使用(参考Zen of Python):
None
的详解
None
的详解There is and can only be one None
在Python中,None
是类NoneType
的唯一实例,并且任何尝试这个类都会返回相同对象,也就时None
是唯一的。
你可以使用Python的标识函数id()
来检查None
的唯一性,会返回对象的唯一标识,每个对象一个标识。如果两个变量具有相同的id,就表示这两个变量实际上是同一个对象:
None
cannot be overwritten
在早期的Python(2.4之前)可以重新设置None
,但是现在不能:
这就确保了None
的引用是相同的,没有"定制"的None
To test for
None
use the is operator
要检查是否是None
需要使用关键字is
,不要使用==
参考
null object in Python? - 问答中的
mike_e
提供了详细的解说,非常详细,我没有全文翻译,建议阅读原文
Last updated