Python 中 if not 的用法

2021-09-03 01:20:08 字數 1318 閱讀 5832

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 noneif 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...