yield是什么?

yield单词的含义:屈服,投降,提供

对于一个函数而言,程序的执行,从上到下执行完一遍,这个函数也就完成了它的使命。

def hello():

print('exe 1')

print('exe 2')

hello()这个函数从上到下依次执行,然后hello()结束。

若一个函数中加入了yield语句,那么这个函数就被增强了,变成了一个生成器:generator。

对于一个函数,其程序执行到了yield语句,那么它选择了`投降`,返回一个结果,这个函数被中断,然后随着生成器的next的执行,该函数从中断的地方执行。

>```

def helloYield():

print('exe 1')

yield '1 be exed'

print('exe 2')

yield '2 be exed'

执行:

gen=helloYield()

print(gen.__next__())

print(gen.__next__())

结果:

exe 1

1 be exed

exe 2

2 be exed

yield from是什么?

yield 可以返回结果

yield from 可以返回一个新的迭代器

看一个例子:

有一个list,如下:

lists = [

1, 2, 3,

[4, 5, [6, 7], 8],

[[[9, 10], 11]],

[[]],

12,

]

需要将list中的所有数据一个个显示出来,如下:

1

2

3

4

5

6

7

8

9

10

11

12

采用yield from的方式,代码如下:

def flatten(items):

for item in items:

if isinstance(item, (list, tuple)):

yield from flatten(item)

else:

yield item

python yield和yieldfrom,Python:对于yield与yield from 的理解相关推荐

  1. python generator iterator_Python:Iterator、Generator和Yield总结

    一.Iterator和Iterable 首先,要明白Iterable可迭代对象 和Iterator 迭代器的区别. 类中实现了__iter__(),那就认为它有迭代能力,其对象即可迭代对象,具有迭代能 ...

  2. python中yield语句的作用_Python中关键字yield有什么作用

    python中,yield关键字的作用:1.将一个函数修改为生成器,利用生成器可以有效地节约系统资源,避免不必要的内存占用:2.用于定义上下文管理器:3.协程:4.配合from形成yield from ...

  3. python语言中文社区-python的汉语

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. sdk 3.0 实现了统一化,各个语言版本的 sdk具备使用方法相同.接 ...

  4. python主要运用于-python主要用于

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 下面是片段分类的一个示例文--catalog.xml 4 python 测试 zo ...

  5. python基础知识面试题-python的一些基本概念知识和面试题

    对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔.那么你了解过Python编程面试题吗?从Python基础到网页爬虫你是否能全方位Hold住?今天,机器之心为读者们 ...

  6. python学习手册条件-Python学习手册(第4版)pdf

    Python学习手册(第4版) 内容简介 <Python学习手册(第4版)>学习Python的主要内建对象类型:数字.列表和字典.使用Python语句创建和处理对象,并且学习Python的 ...

  7. python爬虫毕业设计题目-Python爬虫面试题170道:2019版【1】

    语言特性 1.谈谈对 Python 和其他语言的区别 语言特点:简洁.优雅,省略了各种大括号和分号,还有一些关键字,类型说明: 语言类型:解释型语言,运行的时候是一行一行的解释,并运行,所以调试代码很 ...

  8. python基础入门视频-Python基础入门视频课程——笔记

    Python基础,主讲:汤小洋 一.Python简介 1. Python是什么? ​ Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(龟叔)于1989年 ...

  9. PEP Python Enhancement Proposals(python增强提案\python改进建议书)(重点PEP8)

    引用文章:python 的众多PEP 之中,除了PEP8 ,还有哪一些是值得阅读的? - 豌豆花下猫的回答 - 知乎 PEP是什么? PEP的全称是Python Enhancement Proposa ...

最新文章

  1. 前端每周清单第 33 期:React 16 发布与特性介绍,Expo AR 教程,ExtJS 从崛起到沉寂...
  2. idea自动生成类注释和方法注释
  3. MySQL - 索引优化案例实操
  4. 网络:url?uri?
  5. 全景图像拼接——图像融合
  6. ThreadPoolExecutor 中的workerDone(this); 为什么会时不时的就会在这个地方停下来???
  7. STM32工作笔记0031---基于STM32F103C8自己实现的跑马灯实验_使用STLINK调试
  8. sublime text3 常用配置
  9. 创世纪游戏、黄金分割比
  10. java gui设置圆形按钮_简单的设置圆形按钮
  11. WinRAR_v6.01压缩文件包必备软件
  12. 达梦数据库实时主备环境的搭建(DM7)
  13. 阿铭Linux_传统IDC 部署网站学习笔记20190122
  14. pci-e服务器显卡性能,PCI-E插槽速度可影响游戏性能
  15. maya中英文对比_maya菜单中英文对照表
  16. 我所热爱的多触摸系统 bill buxton
  17. 傅里叶变换并把结果保存在excel文件中
  18. 使用java代码打印三角形、平行四边形、菱形
  19. 在微信里接收文件后如何指着文件用咱编的APP打开?
  20. 大唐杯学习笔记(1)—— 5G网络架构与组网部署

热门文章

  1. 超越ImageNet预训练,Meta AI提出SplitMask,小数据集也能自监督预训练
  2. 无监督训练用堆叠自编码器是否落伍?ML博士对比了8个自编码器
  3. PW Live 直播 | 北邮博士生纪厚业:异质图神经网络之模型和应用
  4. Paper Reading × 杭州丨揭秘自动驾驶的现在与未来
  5. 岗位推荐 | 蚂蚁金服招聘机器学习、自然语言处理算法工程师
  6. 足球 Floyd算法
  7. Flickr30k图像标注数据集下载及使用方法(转载的,备忘)
  8. recycleview 嵌套高度问题_RecyclerView嵌套子RecyclerView无法正常显
  9. DataGrip 2019.2.5 —— MySQL数据表迁移到SQL Server数据表解决方案
  10. CG CTF WEB 签到2