欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

聊聊python中not 與 is None的區(qū)別

 更新時間:2021年05月13日 11:07:01   作者:橘子甜不甜  
這篇文章主要介紹了在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("\n--測試1--\n")
if list1 is None:
    print("is None的用法,輸出list1的內(nèi)容:\t")
    print(list1)
print("------分割線------")
if not list1:
    print("not的用法,輸出list1的內(nèi)容:\t")
    print(list1)
print("\n--測試2--\n")
if list2 is None:
    print("is None的用法,輸出list2的內(nèi)容:\t")
    print(list2)
print("------分割線------")
if not list2:
    print("not的用法,輸出list2的內(nèi)容:\t")
    print(list2)

結(jié)果如圖:

在這里插入圖片描述

可以看到:

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

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

總結(jié)一下:

在python中 None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元組()都相當(dāng)于False;

想使用if not x的話,一定要搞清楚x等于None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元組()時對你的判斷沒有影響才行。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Windows 7下Python Web環(huán)境搭建圖文教程

    Windows 7下Python Web環(huán)境搭建圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows 7下Python Web環(huán)境搭建圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 一文帶你解密Python迭代器的實現(xiàn)原理

    一文帶你解密Python迭代器的實現(xiàn)原理

    這篇文章主要為大家詳細(xì)介紹了Python中迭代器的實現(xiàn)原理,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下
    2022-12-12
  • python機器學(xué)習(xí)理論與實戰(zhàn)(二)決策樹

    python機器學(xué)習(xí)理論與實戰(zhàn)(二)決策樹

    這篇文章主要介紹了python機器學(xué)習(xí)理論與實戰(zhàn)第二篇,決策樹的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python jieba結(jié)巴分詞原理及用法解析

    Python jieba結(jié)巴分詞原理及用法解析

    這篇文章主要介紹了Python jieba結(jié)巴分詞原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Python面向?qū)ο蟪绦蛟O(shè)計多繼承和多態(tài)用法示例

    Python面向?qū)ο蟪绦蛟O(shè)計多繼承和多態(tài)用法示例

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計多繼承和多態(tài)用法,結(jié)合實例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計中多繼承、多態(tài)的概念、原理、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-04-04
  • Python復(fù)合賦值運算符由淺入深實例探究

    Python復(fù)合賦值運算符由淺入深實例探究

    這篇文章主要為大家介紹了Python復(fù)合賦值運算符由淺入深實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python實現(xiàn)名片管理器的示例代碼

    python實現(xiàn)名片管理器的示例代碼

    這篇文章主要介紹了python實現(xiàn)名片管理器的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 解決Python3.8運行tornado項目報NotImplementedError錯誤

    解決Python3.8運行tornado項目報NotImplementedError錯誤

    這篇文章主要介紹了Python3.8運行tornado項目報NotImplementedError錯誤,本文給大家分享解決方法,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 解決pymongo連接數(shù)據(jù)庫報錯certificate verify failed:certificate has expired

    解決pymongo連接數(shù)據(jù)庫報錯certificate verify failed:certific

    這篇文章主要介紹了解決pymongo連接數(shù)據(jù)庫報錯certificate verify failed:certificate has expired問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Python實現(xiàn)對相同數(shù)據(jù)分箱的小技巧分享

    Python實現(xiàn)對相同數(shù)據(jù)分箱的小技巧分享

    這篇文章主要給大家介紹了關(guān)于Python實現(xiàn)對相同數(shù)據(jù)分箱的小技巧,文中通過實例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01

最新評論