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

Python中的Nonetype類型怎么判斷

 更新時間:2021年05月25日 09:47:16   作者:Soyoger  
這篇文章主要介紹了Python中的Nonetype類型怎么判斷?具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

今天寫了個爬蟲,在抓取數(shù)據(jù)的時候遇到一個問題,我覺得如果不注意,這個問題很容易被忽略,所以特意在博客記錄下:

問題描述:

比如,我在提取信息時,這樣判斷類型:

type(answers[0].find_all("table")[0].string)   

得到的結(jié)果為:

NoneType

所以,我就想,條件過濾的時候用is not 或者 != 就可以過濾了,比如這樣嘗試的時候:

type(answers[0].find_all("table")[0].string) is '''NoneType'''

結(jié)果我得到的是:

False

接下來,我用==來判斷也是False,我就猜想,難到不能用type()來判斷?

經(jīng)過查找,發(fā)現(xiàn)Nonetype類型,其實就是值為None,所以直接判斷值就可以了,比如這樣:

answers[0].find_all("table")[0].string is None

得到的結(jié)果:

True

ok,到這里,問題就解決了,列表推導式直接得到結(jié)果:

answer_table  = [x.find_all("table")[0].string.strip() for x in answers if x.find_all("table")[0].string is not None]

answer_table 結(jié)果:

['水箱內(nèi)部有沒有通過,沒有的話就是水箱堵了。', '我的小松也一樣', '電控系統(tǒng)出現(xiàn)故障,電腦板傳出的信號與實際動力不同,大泵與發(fā)動機動力不匹配發(fā)動機負荷重所以高溫,動作慢', '換個新水箱,多頁風扇', '這就是把水箱蓋打開了,水流出來了,加點油門下水管就吸遍了。', '水箱堵了,拿下去專業(yè)悍水箱那輸通,就ok', '如果缸墊沒沖,就換水箱,我也準備換水箱。']

補充:Python對<type 'NoneType'>數(shù)據(jù)類型的處理

Python對象的概念

Python中,萬物皆對象,所有的操作都是針對對象的,那什么是對象,5是一個int對象,‘oblong'是一個str對象,異常也是一個對象,抽象一點是,人,貓,狗也是一個對象

那對于一個對象,它就有包括兩方面的特征:

屬性:去描述它的特征

方法: 它所具有的行為

所以,對象=屬性+方法 (其實方法也是一種屬性,一種區(qū)別于數(shù)據(jù)屬性的可調(diào)用屬性)

把具有相同屬性和方法的對象就可以歸為一類,即Classl。類就好比是一張藍圖,使用一個類可以創(chuàng)建多個對象實例 ,即人,貓,狗都屬于哺乳動物類

類是對象的抽象化,對象是類的實例化。

類不代表具體的事物,而對象表示具體的事物

類也是有屬性和方法的。

數(shù)據(jù)類型也是對象

實際上Pyhton在面向?qū)ο蟪绦蛟O計時,才會有對象這個概念,而在面向過程型程序設計時,我們討論最多的就是數(shù)據(jù)類型。

Python提供的基本數(shù)據(jù)類型主要有:布爾類型、整型、浮點型、字符串、列表、元組、集合、字典等… …

數(shù)據(jù)類型也可以看做是一個”類“

每一種數(shù)據(jù)類型都是一個對象,也具有其自己的屬性和方法

Python中的None與 NULL(即空字符)的區(qū)別

None是Python的特殊類型,NoneType對象,它只有一個值None.

它不支持任何運算也沒有任何內(nèi)建方法。

None和任何其他的數(shù)據(jù)類型比較永遠返回False。

None有自己的數(shù)據(jù)類型NoneType。

你可以將None復制給任何變量,但是你不能創(chuàng)建其他NoneType對象。

是不同的一種數(shù)據(jù)類型:

>>>type(None)
<class 'NoneType'>

表示該值是一個空對象,空值是Python里一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。

>>>type('')
<class ''str'>

你可以將None賦值給任何變量,也可以將任何變量賦值給一個None值的對象

判斷的時候 均是False

>>> ff=None
>>> if ff:
    print('ff is define')

執(zhí)行結(jié)果:無打??!

屬性不同

使用dir()函數(shù)返回參數(shù)的屬性、方法列表。如果參數(shù)包含方法dir(),該方法將被調(diào)用。如果參數(shù)不包含dir(),該方法將最大限度地收集參數(shù)信息。

dir(None)
['__bool__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
dir('')
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

python 中is和= = 的區(qū)別

Python中的對象包含三要素:id、type、value,其中id用來唯一標識一個對象,type標識對象的類型,value是對象的值。

is判斷的是a對象是否就是b對象,是通過id來判斷的;

==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的。

python中的not代表什么

在python中not是邏輯判斷詞,用于布爾型True和False,not True為False,not False為True.

pythond對變量是否為None的判斷

python對變量是否為None的判斷,有三種主要的寫法:

第一種是if x is None;

第二種是 if not x:;

第三種是if not x is None(這句這樣理解更清晰if not (x is None)) 。

在Python中 None, False, 空字符串”“, 0, 空列表[], 空字典{}, 空元組()都相當于False 。

<strong>not None == not False == not '' == not 0 == not [] == not {} == not ()</strong>  

foo is None 和 foo == None的區(qū)別

>>> class foo(object):
    def __eq__(self, other):
        return True

>>> f = foo()
>>> f == None
True
>>> f is None
False

>>> list1 = [1, 2, 3]
>>> list2 = [1, 2, 3]
>>> list1==list2
True
>>> list1 is list2
False

另外:

(ob1 is ob2) 等價于 (id(ob1) == id(ob2))

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

相關文章

  • Pytorch中的torch.where函數(shù)使用

    Pytorch中的torch.where函數(shù)使用

    這篇文章主要介紹了Pytorch中的torch.where函數(shù)使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 解決Tensorflow占用GPU顯存問題

    解決Tensorflow占用GPU顯存問題

    今天小編就為大家分享一篇解決Tensorflow占用GPU顯存問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Pygame?transform模塊入門介紹

    Pygame?transform模塊入門介紹

    pygame.transform模塊允許您對加載、創(chuàng)建后的圖像進行一系列操作,比如調(diào)整圖像大小、旋轉(zhuǎn)圖片等操作,感興趣的可以了解一下
    2022-08-08
  • Python使用Nocalhost并開啟debug調(diào)試的方法

    Python使用Nocalhost并開啟debug調(diào)試的方法

    Nocalhost是一種開發(fā)者工具,支持針對Kubernetes應用程序進行調(diào)試和部署,這篇文章主要介紹了Python怎么使用Nocalhost并開啟debug,需要的朋友可以參考下
    2023-04-04
  • PyAV?基礎及使用方法分享

    PyAV?基礎及使用方法分享

    這篇文章主要介紹了PyAV?基礎及使用方法分享的相關資料,需要的朋友可以參考下
    2023-08-08
  • 利用Python實現(xiàn)批量加密Excel文件

    利用Python實現(xiàn)批量加密Excel文件

    在日常工作中,我們經(jīng)常需要處理大量的Excel文件,為了保護敏感數(shù)據(jù)的安全性,我們可能需要對這些文件進行加密,本文主要介紹了如何使用Python實現(xiàn)批量加密Excel文件,需要的可以參考下
    2023-11-11
  • python實現(xiàn)字母閃爍效果的示例代碼

    python實現(xiàn)字母閃爍效果的示例代碼

    本文主要介紹了python實現(xiàn)字母閃爍效果的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • python文件開頭聲明UTF-8編碼的幾種常用方式匯總

    python文件開頭聲明UTF-8編碼的幾種常用方式匯總

    這篇文章主要介紹了python文件開頭聲明UTF-8編碼的幾種常用方式匯總,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 詳細介紹在pandas中創(chuàng)建category類型數(shù)據(jù)的幾種方法

    詳細介紹在pandas中創(chuàng)建category類型數(shù)據(jù)的幾種方法

    這篇文章主要介紹了詳細介紹在pandas中創(chuàng)建category類型數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • DRF跨域后端解決之django-cors-headers的使用

    DRF跨域后端解決之django-cors-headers的使用

    這篇文章主要介紹了DRF跨域后端解決之django-cors-headers的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論