ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python中Yield函数的理解

2021-12-24 10:36:01  阅读:254  来源: 互联网

标签:函数 python 生成器 Yield next yield print foo


1:在实际应用中,在程序中列表长度过于庞大,占用系统较大的内存,对于这个问题,

  我们会用到 yield 函数(生成器)带yield的函数是一个生成器,而不是一个函数了,这个生成器有一个函数就是next函数,

  next就相当于“下一步”生成哪个数,这一次的next开始的地方是接着上一次的next停止的地方执行的,所以调用next的时候,

  生成器并不会从foo函数的开始执行,只是接着上一步停止的地方开始,然后遇到yield后,return出要生成的数

def foo():
     b = [3, 2, 4, 53, 33, 22]
     for i in b:
          print("遍历列表的数据", i)
          """
          Yield 相当于一个return 函数,跟ruturn 不同的是, 用了yield 函数,函数就变成了一个生成器,可以遍历函数,也可以用 next()
          next函数会用上一次暂停位置启动
          """
          yield 5


d = foo()
print("这是一个生成器", d)
print(next(d))
print(next(d))
print("**" * 20)
for i in foo():
     print(i)

 

标签:函数,python,生成器,Yield,next,yield,print,foo
来源: https://www.cnblogs.com/suwhatsu/p/15726300.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有