在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。它和執行緒一樣可以排程,但是不同的是執行緒的啟動和排程需要通過作業系統來處理。協程是一種比執行緒更加輕量級的存在,最重要的是,協程不被作業系統核心管理,協程是完全由程式控制的。執行效率極高,協程的切換完全由程式控制,不像執行緒切換需...