None是一个对象,而NULL是一个类型。
Python中没有NULL,只有None,None有自己的特殊类型NoneType。
None不等于0、任何空字符串、False等。
在Python中,None、False、0、""(空字符串)、[](空列表)、()(空元组)、{}(空字典)都相当于False。
判断变量是否为空的高效方法是:
if X is None
if not X:当X为None、False、""、0、[]、()、{}时,not X为真,无法分辨
if not X is None:等价于if not (X is None)、if X is not None
判断空使用指南
if X is not None写法清晰明了,且不会出错,推荐使用;
if not x使用前,必须确定X为None、False、""、0、[]、()、{}时对判断无影响。
示例
x = []
y = None
print 'X is None测试结果'
print x is None #False
print y is None #True
print 'not X测试结果'
print not x #True
print not y #True
print 'not X is None测试结果'
print not x is None #True
print not y is None #False
print 'X is not None测试结果'
print x is not None #True
print y is not None #False