首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 函数为什么会默认返回 None?

    它们的执行效果跟直接写 return 语句相比,是完全相同的: 这 4 个例子属于两种类型:一种没有写 return,但是都有隐藏的 return 返回值;一种写了 return,而且实际也有返回值。...不管有没有写 return,它们都会执行 return 的逻辑,而且默认的返回值就是 None。 那么,问题来了:Python 的函数为什么能默认返回 None 呢?它是如何实现的呢?...答案就在解释器中,当 CPython 解释器执行到函数的最后一个代码块时,若发现没有返回值,它就会主动地加上一个 Py_None 值返回(出自:compile.c): 也就是说,如果定义的函数没有返回值...,Python 解释器就会(强行地)默认给我们注入一段返回逻辑!...那么,这就会引出新的问题:Python 为什么要求函数都要有返回值呢?为什么它不像某些语言那样,提供一个 void 关键字,支持定义无返回值的空函数呢?

    2.9K40

    四、网页信息存储和 BeautifulSoup之find用法

    网页信息存储和 BeautifulSoup之find用法 前言 一、BeautifulSoup之find用法 find find_all 具体使用示例 二、网页信息存储 1.基础知识...2.写入数据 感谢 ---- 前言 在这一章会解决上一章结尾问题BeautifulSoup之find用法,并进入爬虫的第三个流程,信息存储。...---- 一、BeautifulSoup之find用法 BeautifulSoup有find 和find_all的方法。但在使用之前一定要先建立一个beautifulsoup对象。...find 只返回第一个匹配到的对象 语法: find(name, attrs, recursive, text, **wargs)  name–查找标签 text–查找文本 attrs–基于attrs...参数 find_all 返回所有匹配到的结果,区别于find(find只返回查找到的第一个结果) 语法: find_all(name, attrs, recursive, text, limit, *

    77610

    Python学习日记5|BeautifulSoup中find和find_all的用法

    在爬取网页中有用的信息时,通常是对存在于网页中的文本或各种不同标签的属性值进行查找,Beautiful Soup中内置了一些查找方式,最常用的是find()和find_all()函数。...同时通过soup.find_all()得到的所有符合条件的结果和soup.select()一样都是列表list,而soup.find()只返回第一个符合条件的结果,所以soup.find()后面可以直接接...('ul') ,那么返回结果是第一个ul标签以及......二、find_all()用法 应用到find()中的不同过滤参数同理可以用到find_all()中,相比find(),find_all()有个额外的参数limit,如下所示: p=soup.find_all...(text='algae',limit=2) 实际上find()也就是当limit=1时的find_all()。

    11.2K31

    Could not find codec parameters for stream 0 (Video: h264, none)

    Could not find codec parameters for stream 0 (Video: h264, none)在使用视频处理工具或者播放器时,有时我们可能会遇到错误信息 "Could...not find codec parameters for stream 0 (Video: h264, none)"。...总结当遇到错误信息 "Could not find codec parameters for stream 0 (Video: h264, none)"时,我们应该先检查播放器或视频处理工具的版本,并确保安装了相应的解码器...希望本文能够帮助你解决 "Could not find codec parameters for stream 0 (Video: h264, none)" 的错误,并让你能够正常播放视频文件。...当遇到错误信息 "Could not find codec parameters for stream 0 (Video: h264, none)" 时,我们可以通过检查视频文件格式,并转码视频格式的方式来解决问题

    2.1K10

    【Python】函数 ④ ( 函数 None 返回值 | None 值应用场景 | 用于 if 判断 | 定义无初始内容变量 | 代码示例 )

    # 函数体 # return 返回值 (可选) Python 函数中没有显示定义返回值 , 那么返回的就是 特殊字面量 None , 其类型是 ; None...- 接收 None 返回值 下面的代码中 , hello 函数没有使用 return 关键字 返回 返回值 ; 该 hello 函数 没有显示定义 返回值 , 实际上该函数返回的是 None 返回值...; 使用变量接收该函数的返回值 , 返回值是 None , 返回值类型是 NoneType ; 代码示例 : """ 接收 函数 None 返回值示例 """ # 定义无返回值的函数 def hello...return 关键字返回 None 在该示例中 , 比上一个示例多了 return None 返回值 , 其执行效果与没有返回值一模一样 ; 代码示例 : """ 接收 函数 None 返回值示例 ""...None 二、None 值应用场景 ---- 1、None 值应用场景简介 函数 None 返回值应用场景 : 函数返回值 : 表示函数没有返回值 ; 用于 if

    1.3K20

    如何解决AttributeError: ‘NoneType‘ object has no attribute ‘find_all‘问题

    一、摘要 在使用 BeautifulSoup 解析网页时,AttributeError: 'NoneType' object has no attribute 'find_all' 是一个十分常见却又让人头疼的错误...https://example.com") soup = BeautifulSoup(resp.text, "html.parser") items = soup.find("div", class_=...返回 None,随之调用 .find_all 时就会抛出: AttributeError: 'NoneType' object has no attribute 'find_all' 技术上,该异常表明对...None 检查 请求被拦截或返回 404/302 检查 resp.status_code,设置合适的 headers 使用默认解析器解析失败 换用 lxml 或 html5lib 页面内容通过 JavaScript...动态加载 使用 Selenium、Playwright 或抓包 API 目标节点深度嵌套,忘记逐级查找 分步打印中间结果,定位哪一级返回 None 七、小贴士 “最好的解析器不是代码,而是对页面结构的深入理解

    45810

    六、解析库之Beautifulsoup模块

    ,如果只有一个子节点那么就输出该子节点的文本,比如下面的这种结构,soup.p.string 返回为None,但soup.p.strings就可以找到所有文本 哈哈哈哈...: print(soup.find_all(['a','b'])) #1.4、True:可以匹配任何值,下面代码查找到所有的tag,但是不会返回字符串节点 print(soup.find_all(True...,当搜索到的结果数量达到 limit 的限制时,就停止搜索返回结果 print(soup.find_all('a',limit=2)) #2.7、recursive:调用tag的 find_all()...('title') # The Dormouse's story 唯一的区别是 find_all() 方法的返回结果是值包含一个元素的列表,而 find() 方法直接返回结果.... find_all() 方法没有找到目标是返回空列表, find() 方法找不到目标时,返回 None . print(soup.find("nosuchtag")) # None soup.head.title

    2.3K60

    【愚公系列】《Python网络爬虫从入门到精通》018-使用 BeautifulSoup 方法获取内容

    一、使用 BeautifulSoup 方法获取内容1.find_all() 方法用于获取 所有符合条件 的节点内容,返回 bs4.element.ResultSet 对象(类似列表)。...语法格式find_all(name=None, attrs={}, recursive=True, text=None, limit=None, kwargs)1.1 name 参数通过 标签名称 匹配节点...('Python'))) # 打印指定正则表达式对象所获取的内容2.find() 方法用于获取 第一个匹配 的节点内容,返回 bs4.element.Tag 对象。...的文本信息3.其他方法4.关键区别方法 返回结果类型 特点 find_allbs4.element.ResultSet 返回所有匹配的节点...find bs4.element.Tag 返回第一个匹配节点5.注意事项参数优先级:name 和 attrs 可组合使用。

    23100
    领券