教程引言:
荟萃经典的Python面试题,包括但不限于基础知识,高阶知识,算法,以及开放性回答等必考的面试题。
如何理解Python中的None类型?
Python中的None对象是一个NoneType类型, 我们可以在交互模式中执行type(None)来输出None的类型名:
>>> type(None)
<class 'NoneType'>
直接通过NoneType来构造一个None对象,会抛出了NameError的异常:
>>> none = NoneType()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'NoneType' is not defined
在Python的官方文档中查找资料可知,NoneType并没有在Python/C API中进行公开,所以使用NoneType时会抛出NoneType未定义的错误。Python中的None对象是一个单例,仅用来测试对象的标识值。单例对象在进程的生命周期中只存在一个唯一的实例。
CPython中的对象标识值即为内存地址
由于None对象是单例,所以None对象的标识值仅与None对象的标识值相等。在Python中使用is操作符来判断标识值是否相等。
代码实例:
# None对象的标识值仅与None对象的标识值相等,if语句下面的代码永远不会执行 if False is None: print("never happen!") future_of_dawdler = None if future_of_dawdle is None: # 懒人前程一片黯淡 print("just be diligent!!!")
关注微信公众号:薯条编程,公众号后台回复"Python资料",免费领取Python电子书,以及学习Python视频课程。
小班授课,薯条老师一对一教学,火热报名中,点击了解线下就业培训。