if not 判斷是否為none
**中經常會有判斷變數是否為none的情況,主要有三種寫法:
第一種: if x is none(最清晰)
第二種: if not x
第三種: if not x is none
>>> x = 1
>>> not x
false
>>> x = [1]
>>> not x
false
>>> x = 0
>>> not x
true
>>> x = [0] # you don't want to fall in this one.
>>> not x
false
使用if not x這種寫法的前提是:必須清楚x等於none, false, 空字串"", 0, 空列表, 空字典{}, 空元組()時對你的判斷沒有影響才行
在python中 none, false, 空字串"", 0, 空列表, 空字典{}, 空元組()都相當於false
因此在使用列表的時候,如果你想區分x==和x==none兩種情況的話, 此時if not x:
將會出現問題:
>>> x =
>>> y = none
>>>
>>> x is none
false
>>> y is none
true
>>>
>>>
>>> not x
true
>>> not y
true
>>>
>>>
>>> not x is none
>>> true
>>> not y is none
false
>>>
也許你是想判斷x是否為none,但是卻把x==
的情況也判斷進來了,此種情況下將無法區分。
對於習慣於使用if not x這種寫法的pythoner,必須清楚x等於none, false, 空字串"", 0, 空列表, 空字典{}, 空元組()時對你的判斷沒有影響才行。
而對於if x is not none
和if not x is none
寫法,很明顯前者更清晰,而後者有可能使讀者誤解為if (not x) is none
,因此推薦前者,同時這也是谷歌推薦的風格
python中if not的用法
在python中 none,false,0,空列表,空字典 空元祖 都相當於false coding utf 8 x 0 false none 1 x為真 故not x 為假嘍 if not x print 結果為真,x為假 else print 結果為假 x為真 執行結果 d python3 in...
python中with的用法
剛剛開始學python,今天在乙個基礎例子中看到了一行 覺得很有意思,就去研究了一下 with open config name login.txt r as f 其實這是python中的with語句,類似於php中的try catch 主要是用來檔案處理,你需要的是獲取乙個檔案控制代碼,然後從檔案...
python中with的用法
python中with的用法 清單 1.with 語句的語法格式 1 2 with context expression as target s with body 無論context expression是否發生異常,都能保證不報錯,類似於try finally正規化。enter 語句返回值賦給t...