深入理解python中的None

2021-07-24 23:33:40 字數 1640 閱讀 4460

在python中判斷乙個物件是否為空時,我曾經這樣寫**:

list=

iflist is not none:

print

"list is %s" %list

else:

print

"list is null"

列印結果為:

is

從上面的例子可以看出list為空應該列印的是:list is null ,但是實際的結果不是,這是為什麼呢?

首先,我們來學習一下python中那些形式的資料為空。

常量none

常量false

空的字典,列表,set,tuple。

數值為0,0l,0.0

測試**:

1.常量false

list=

iffalse:

print

"list is %s" %list

else:

print

"list is null"

2. 空的字典,列表,set,tuple。

list=

iflist:

print

"list is %s" %list

else:

print

"list is null"

3.常量none

list=

if none:

print

"list is %s" %list

else:

print

"list is null"

4. 數值為0,0l,0.0

list=

if0:

print

"list is %s" %list

else:

print

"list is null"

列印結果均為:list is null

所以在這裡可以看出python中的none常量的特殊性:

它既不是0,也不是false,也不是空字串。它只是乙個空值的物件,也就是乙個空的物件,只是沒有賦值而已。

所以正確判斷乙個物件是否為空就應該採用這樣的格式:

list=

iflist:

print

"list is %s" %list

else:

print

"list is null"

那怎麼去判斷乙個字串為空呢?

1. str==「 」

2. len(str)==0

3. if str:(不為空的時候)

do something when str is

notnull

else:

do something when str is

null

測試:

str=""

ifstr:

print "hello world"

else:

print "i love python"

測試結果為:i love python

python深入 Python的深入理解

處理檔案和目錄 python 3 帶有乙個模組叫做 os,代表 作業系統 operating system os 模組 包含非常多的函式用於獲取 和修改 本地目錄 檔案程序 環境變數等的資訊。python 盡最大的努力在所有支援的作業系統上提供乙個統一的api,這樣你就可以在保證程式能夠在任何的計算...

Python的深入理解

處理檔案和目錄 python 3 帶有乙個模組叫做 os,代表 作業系統 operating system os 模組 包含非常多的函式用於獲取 和修改 本地目錄 檔案程序 環境變數等的資訊。python 盡最大的努力在所有支援的作業系統上提供乙個統一的api,這樣你就可以在保證程式能夠在任何的計算...

中gather函式 深入理解Python中的協程

協程 是單執行緒下的併發,又稱微執行緒。英文名是coroutine。它和執行緒一樣可以排程,但是不同的是執行緒的啟動和排程需要通過作業系統來處理。協程是一種比執行緒更加輕量級的存在,最重要的是,協程不被作業系統核心管理,協程是完全由程式控制的。執行效率極高,協程的切換完全由程式控制,不像執行緒切換需...