Python yield与yield from的简单使用方式

 更新时间:2025年08月02日 14:11:54   作者:蓝小白1024  
生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yield from用于将一个生成器的值传递给另一个生成器,提升代码效率,常用于爬虫等需分阶段处理的场景

Python yield与yield from的使用

当一个函数带有 yield 的时候,这个函数就叫做生成器。

在一个函数中处理 io 操作时,可以先返回一部分,让程序做其它事情,等处理完其它事情,在进行刚才暂停的地方。

比如:我要爬取某些网站时,解析页面时

代码结构

def get_value(num):
	"""生成器"""
    for i in ["A", "B"]:
        yield f"{i}{num}"

def get_html():
    for i in [1, 2, 3]:
        yield get_value(i)

def get_html_from():
    for i in [4, 5, 6]:
        yield from get_value(i)

if __name__ == '__main__':
    # print(list(get_html()))
    # print(list(get_html_from()))
    for value in get_html():
        print(value)
    print("*" * 50)
    for value in get_html_from():
        print(value)

执行结果

<generator object get_value at 0x000001E5A46C1448>
<generator object get_value at 0x000001E5A46C1D48>
<generator object get_value at 0x000001E5A46C1448>
**************************************************
A4
B4
A5
B5
A6
B6

简单讲, 就是当一个生成器想返回另一个生成器中的值时,就可以使用yied from

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python中dict()的高级用法实现

    python中dict()的高级用法实现

    这篇文章主要介绍了python中dict()的高级用法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Jupyter notebook远程访问服务器的方法

    Jupyter notebook远程访问服务器的方法

    今天小编就为大家分享一篇Jupyter notebook远程访问服务器的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 使用WingPro 7 设置Python路径的方法

    使用WingPro 7 设置Python路径的方法

    Python使用称为Python Path的搜索路径来查找使用import语句导入代码的模块。这篇文章主要介绍了使用WingPro 7 设置Python路径的方法,需要的朋友可以参考下
    2019-07-07
  • Python+tkinter实现动态连接数据库

    Python+tkinter实现动态连接数据库

    在使用 Tkinter (tk) 开发 GUI 程序时,可以通过多种方式让用户自由更改数据库连接地址,本文主要介绍了三种常用方法,感兴趣的小伙伴可以了解下
    2025-03-03
  • Python上下文管理器with块及@contextmanager的使用

    Python上下文管理器with块及@contextmanager的使用

    本文主要介绍了上下文管理器和with块的知识,包括上下文管理器的作用、接口以及__enter__和__exit__方法的用法,同时,还介绍了@contextmanager的用法,它可以简化上下文管理器的创建过程
    2026-04-04
  • python爬虫 使用真实浏览器打开网页的两种方法总结

    python爬虫 使用真实浏览器打开网页的两种方法总结

    下面小编就为大家分享一篇python爬虫 使用真实浏览器打开网页的两种方法总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python 中开发pattern的string模板(template) 实例详解

    Python 中开发pattern的string模板(template) 实例详解

    这篇文章主要介绍了Python 中开发pattern的string模板(template) 实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • 一文详解Python如何高效处理文本匹配

    一文详解Python如何高效处理文本匹配

    当你需要在Python中处理文本数据时,正则表达式绝对是你的瑞士军刀,今天小编就来和大家一起聊聊Python中re模块的那些实用技巧和常见陷阱吧
    2025-04-04
  • Python 实现一个计时器

    Python 实现一个计时器

    这篇文章主要介绍了Python 实现一个计时器的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 在python下读取并展示raw格式的图片实例

    在python下读取并展示raw格式的图片实例

    今天小编就为大家分享一篇在python下读取并展示raw格式的图片实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论