您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關not與 isNone在python中有什么區別,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
list 獲得的數據為空: 顯示值為 [ ]
不同的判斷--- is None
----not
not 判斷的是內容,而is None則涉及到這個 list 或 dict 是否聲明并定義
補充:關于Python not 及is None的有趣現象(兩者的區別)
筆者小白最近在刷題的過程中,遇到一個有趣的現象。
在使用 if A is None 來實現判斷條件的時候,最后程序沒有通過。這里的A代表之前定義的list類型的數據。最用改成if not A才通過。
那么到底判斷A為空兩者有什么區別呢。
筆者小白發現A為空時,not A 就是True,但是這并不代表該對象沒有定義,也不代表該對象沒有其它的屬性。它只是代表A中元素為空,僅此而已。
如果要看對象是否有定義,就要使用 is None來判斷。
補充:Python的if條件語句中的 X is None 和 not X的區別
在算法題和日常工作中總會遇到條件語句中有is None 和 not 出現,總是分不清它們的用途,今天在這里做一個總結。
Python中not是一個邏輯判斷詞,結合布爾類型True和False來運用,not True就是False,not False就是True。看了一些網上資料后,可以把not X 理解為
if x is false, then True, else False
Python中 is None就是判斷對象是否有定義
list1 = [] list2 = None print("\n--測試1--\n") if list1 is None: print("is None的用法,輸出list1的內容:\t") print(list1) print("------分割線------") if not list1: print("not的用法,輸出list1的內容:\t") print(list1) print("\n--測試2--\n") if list2 is None: print("is None的用法,輸出list2的內容:\t") print(list2) print("------分割線------") if not list2: print("not的用法,輸出list2的內容:\t") print(list2)
結果如圖:
list1是[],此時只有not判斷有輸出,因為list1雖然是空,但是是有定義的,所以此時None的判斷不成立,所以沒有輸出,而list1中是空的,not空為真,所以輸出這個list1;
list2是None,此時兩個條件判斷都有輸出,因為 None == None,所以有輸出,not None 為True 所以也會有輸出。
1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。
看完上述內容,你們對not與 isNone在python中有什么區別有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。