一: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了。