Python中的None
一:None
None是python中的一个特殊的常量,表示一个空的对象。
数据为空并不代表是空对象,例如[],''等都不是None。
None有自己的数据类型NontType,你可以将None赋值给任意对象,但是不能创建一个NoneType对象。
二:False
python中数据为空的对象以及None对象在条件语句都作False看待:即 None,False,0,[],"",{},() 都相当于False。
三:None的比较——用 is None 而不是 == None
因为None在Python里是个单例对象,一个变量如果是None,它一定和None对象指向同一个内存地址。
is运算判断两个对象在内存中的地址是否一致:
而 == 运算符是比较对象的值是否相等,原理是调用类的 __eq__函数,而__eq__函数可以被重载:我们可以重载某类的 __eq__ 比较函数,让它总是返回True,则它的实例与None作 == 运算时就为True了。