本文主要介绍如何在Python中判断Nonetype的类型。有很好的参考价值,希望对大家有所帮助。如有错误或不足之处,请不吝赐教。
今天写了一个爬虫,抓取数据的时候遇到了一个问题。我觉得这个问题如果不注意的话很容易被忽略,所以特意记录在博客里:
问题描述:
例如,当我提取信息时,我是这样判断类型的:
类型(答案[0]。find_all('table')[0]。字符串)
结果如下:
非类型
所以,我想,使用不是或时过滤条件!=可以过滤。例如,当您尝试这样做时:
类型(答案[0]。find_all('table')[0]。字符串)是'''非类型' ' '
我得到的是:
错误的
接下来我用==判断它也是假的,我猜,太难用type()判断?
搜索后发现Nonetype类型其实就是None的值,直接判断值就可以了,比如这个:
答案[0]。find_all('table')[0]。字符串为无
结果是:
真实的
好了,这里问题解决了,列表推导直接得到结果:
answer _ table=[x . find _ all(' table ')[0]. string . strip()for x in answers if x . find _ all(' table ')[0]。字符串不是无]
答案_表格结果:
【‘水箱里面有通道吗?如果没有,水箱就堵塞了。'我的小松也一样'、'电控系统坏了,电脑板信号和实际功率不一样,大泵功率和发动机不匹配,所以发动机负荷大,所以热,动起来慢'、'换个新水箱,多页风扇'、'这是说水箱盖开了,水流出来了,加点油门水管都吸完了。',‘水箱堵住了。把它拿到专业水箱里就可以了。'如果气缸垫没有被冲洗,请更换水箱。我还打算换水箱。]
补充:Python对type 'NoneType'数据类型的处理
Python对象的概念
在Python中,一切都是对象,所有的操作都是针对对象的。那么什么是对象呢?5是int对象,' ' oblong '是str对象,exception也是对象。抽象来说,人、猫、狗也是一个物体。
对于那个对象,它有两个特征:
属性:描述其特征。
方法:它所具有的行为。
所以object=property method(其实method也是一个属性,一个不同于data属性的可调用属性)。
具有相同属性和方法的对象可以归为一类,即class 1。一堂课就像一张蓝图。使用一个类可以创建多个对象实例,即人、猫、狗都属于哺乳动物。
类是对象的抽象化,对象是类的实例化。
类不代表具体的东西,而对象代表具体的东西。
类也有属性和方法。
数据类型也是对象
其实Pyhton只有在面向对象编程的时候才有对象的概念,而在面向过程编程的时候,我们讨论最多的是数据类型。
Python提供的基本数据类型主要有:布尔型、整数型、浮点型、字符串、列表、元组、集合、字典等…
一个类型也可以被视为一个“类”
每种数据类型都是一个对象,有自己的属性和方法。
Python中的None与 NULL(即空字符)的区别
是Python的一种特殊类型,非类型对象,只有一个值none。
它不支持任何操作,也没有内置方法。
与任何其他数据类型相比,None总是返回False。
没有自己的数据类型。
您可以将None复制到任何变量,但不能创建其他非类型对象。
是不同的数据类型:
类型(无)
类“NoneType”
表示值为空对象,空值是Python中的特殊值,用None表示。None不能理解为0,因为0是有意义的,None是一个特殊的空值。
类型(“”)
类别' ' str '
您可以为任何变量指定None,也可以为没有值的对象指定任何变量。
所有的判断都是假的。
ff=无
如果ff:
打印(“ff已定义”)
执行结果:不打印!
属性不同
使用dir()函数返回参数的属性和方法列表。如果参数包含方法dir(),它将被调用。如果参数不包含dir(),该方法将最大限度地收集参数信息。
目录(无)
['__bool__ ',' __class__ ',' __delattr__ ',' __dir__ ',' __doc__ ',' __ge__ ',' __getattribute__ ',' __gt__ ',' __hash__ ',' __init__ ',' __le__ ',' __lt__ ',' __ne__ ',' __new__ ',' __reduce_ '
目录("")
['__add__ ',' __class__ ',' __contains__ ',' __delattr__ ',' __dir__ ',' __doc__ ',' __eq__ ',' __format__ ',' __ge__ ',' __getattribute__ ',' __getnewargs__ ',' __gt__ ',' __hash__ ',' __init__ ',',',' __iter__ '
python 中is和= = 的区别
计算机编程语言中的对象包含三要素:id,类型、值,其中身份证明(识别)用来唯一标识一个对象,类型标识对象的类型,值是对象的值。
是判断的是a对象是否就是b对象,是通过身份证明(识别)来判断的;
==判断的是a对象的值是否和b对象的值相等,是通过价值来判断的。
python中的not代表什么
在大蟒中不是逻辑判断词,用于布尔型真实的和假的,不是真的为假,不是假为没错。
pythond对变量是否为None的判断
大蟒对变量是否为没有人的判断,有三种主要的写法:
第一种是如果x是无;
第二种是如果不是x:
第三种是如果不是,x是无(这句这样理解更清晰如果不是(十是无)).
在计算机编程语言中无,假,空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于错误。
strong not None==not False==not ' '==not 0==not[]==not { }==not()/strong
foo is None 和 foo == None的区别
类foo(对象):
def __eq__(自己,其他):
返回真实的
f=foo()
f==无
真实的
f是零
错误的
列表1=[1,2,3]
列表2=[1,2,3]
列表1==列表2
真实的
列表一是列表2
错误的
另外:
(ob1是ob2)等价于(id(ob1)==id(ob2))
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。