None是一個(gè)對象,而NULL是一個(gè)類型。
Python中沒有NULL,只有None,None有自己的特殊類型NoneType。
None不等于0、任何空字符串、False等。
在Python中,None、False、0、""(空字符串)、[](空列表)、()(空元組)、{}(空字典)都相當(dāng)于False。
判斷變量是否為空的高效方法是:
if X is None
if not X:當(dāng)X為None、False、""、0、[]、()、{}時(shí),not X為真,無法分辨
if not X is None:等價(jià)于if not (X is None)、if X is not None
判斷空使用指南
if X is not None寫法清晰明了,且不會(huì)出錯(cuò),推薦使用;
if not x使用前,必須確定X為None、False、""、0、[]、()、{}時(shí)對判斷無影響。
示例
x = []
y = None
print 'X is None測試結(jié)果'
print x is None #False
print y is None #True
print 'not X測試結(jié)果'
print not x #True
print not y #True
print 'not X is None測試結(jié)果'
print not x is None #True
print not y is None #False
print 'X is not None測試結(jié)果'
print x is not None #True
print y is not None #False
補(bǔ)充:python中None與0、Null、false區(qū)別
None是Python中的一個(gè)關(guān)鍵字,None本身也是個(gè)一個(gè)數(shù)據(jù)類型,而這個(gè)數(shù)據(jù)類型就是None,它可0、空字符串以及false均不一樣,這些都只是對象,而None也是一個(gè)類。
給個(gè)bool測試:
val = None
if val:
print "None is true"
else:
print "None is not true"
#輸出
None is not true
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Python中的None與 NULL(即空字符)的區(qū)別詳解
- Python判斷字符串是否為空和null方法實(shí)例
- 在python中對變量判斷是否為None的三種方法總結(jié)