python中的None與NULL用法說明

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

補充:python中None與0、Null、false區別

None是Python中的一個關鍵字,None本身也是個一個數據類型,而這個數據類型就是None,它可0、空字符串以及false均不一樣,這些都隻是對象,而None也是一個類。

給個bool測試:

val = None

if val:
    print "None is true"
else:
    print "None is not true"

#輸出
None is not true

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: