溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中not與is None有哪些區(qū)別

發(fā)布時間:2022-02-28 15:21:00 來源:億速云 閱讀:202 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“python中not與is None有哪些區(qū)別”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“python中not與is None有哪些區(qū)別”吧!

原因:

list 獲得的數(shù)據(jù)為空: 顯示值為 [ ]

不同的判斷--- is None

----not

兩者結(jié)果不一樣分析:

總之:

not 判斷的是內(nèi)容,而is None則涉及到這個 list 或 dict 是否聲明并定義

補充:關(guān)于Python not 及is None的有趣現(xiàn)象(兩者的區(qū)別)

筆者小白最近在刷題的過程中,遇到一個有趣的現(xiàn)象。

在使用 if A is None 來實現(xiàn)判斷條件的時候,最后程序沒有通過。這里的A代表之前定義的list類型的數(shù)據(jù)。最用改成if not A才通過。

那么到底判斷A為空兩者有什么區(qū)別呢。

筆者小白發(fā)現(xiàn)A為空時,not A 就是True,但是這并不代表該對象沒有定義,也不代表該對象沒有其它的屬性。它只是代表A中元素為空,僅此而已。

如果要看對象是否有定義,就要使用 is None來判斷。

補充:Python的if條件語句中的 X is None 和 not X的區(qū)別

在算法題和日常工作中總會遇到條件語句中有is None 和 not 出現(xiàn),總是分不清它們的用途,今天在這里做一個總結(jié)。

if X is None和if not X的具體用法

Python中not是一個邏輯判斷詞,結(jié)合布爾類型True和False來運用,not True就是False,not False就是True??戳艘恍┚W(wǎng)上資料后,可以把not X 理解為

if x is false, then True, else False

Python中 is None就是判斷對象是否有定義

舉個例子

list1 = []
list2 = None
print("
--測試1--
")
if list1 is None:
    print("is None的用法,輸出list1的內(nèi)容:	")
    print(list1)
print("------分割線------")
if not list1:
    print("not的用法,輸出list1的內(nèi)容:	")
    print(list1)
print("
--測試2--
")
if list2 is None:
    print("is None的用法,輸出list2的內(nèi)容:	")
    print(list2)
print("------分割線------")
if not list2:
    print("not的用法,輸出list2的內(nèi)容:	")
    print(list2)

可以看到:

list1是[],此時只有not判斷有輸出,因為list1雖然是空,但是是有定義的,所以此時None的判斷不成立,所以沒有輸出,而list1中是空的,not空為真,所以輸出這個list1;

list2是None,此時兩個條件判斷都有輸出,因為 None == None,所以有輸出,not None 為True 所以也會有輸出。

感謝各位的閱讀,以上就是“python中not與is None有哪些區(qū)別”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對python中not與is None有哪些區(qū)別這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI