Pythonyield与yieldfrom的简单使用方式

作者:

文章目录
  • 当一个函数带有 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异步编程之yield from的用法详解 深入了解Python中yield from语法的使用 Python用yield from实现异步协程爬虫的实践 python协程之yield和yield from实例详解 python中的yield from语法快速学习 python异步编程 使用yield from过程解析 Python 3中的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异步编程之yield from的用法详解
    • 深入了解Python中yield from语法的使用
    • Python用yield from实现异步协程爬虫的实践
    • python协程之yield和yield from实例详解
    • python中的yield from语法快速学习
    • python异步编程 使用yield from过程解析
    • Python 3中的yield from语法详解

    站内搜索