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

  

posted @ 2019-05-29 11:14  keenyeh  阅读(7129)  评论(0编辑  收藏  举报