文章目录
目录
- 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语法详解