翼度科技»论坛 编程开发 python 查看内容

一篇文章快速理解python中的yield关键字

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
前言

想象一下,你正在做一个蛋糕,但是这个蛋糕非常大,你不想一次性把它全部做完,而是想做一点吃一点,yield 关键字就能让你做到这一点。
(插一句,yield本身最广泛使用的意思就是:产生、产量,其实就可以反映它的作用)
一、yield 的基本作用

  在 Python 中,
  1. yield
复制代码
关键字可以让我们的函数变成一个“生成器”。生成器就像一个特殊的函数,它可以记住自己做到哪一步了,然后下次从上次停下的地方继续做。
二、如何使用 yield


  • 把函数变成生成器:只要你在函数里用到了
    1. yield
    复制代码
    ,这个函数就不再是一个普通的函数了,它变成了一个生成器。
  • 产生值:每次函数执行到
    1. yield
    复制代码
    时,它会“产出”一个值,然后停下来。下次再调用这个生成器的时候,它会从上次停下的地方继续执行。
  • 记住状态:当生成器停下来的时候,它会记住所有的变量和它们的状态,这样下次开始的时候,它就能从上次停下的地方继续。
三、一个简单的例子
  1. def count_to(max):
  2.     count = 1
  3.     while count <= max:
  4.         yield count  # 还没结束但是先记着,这里用 yield 产生值
  5.         count += 1   # 继续

  6. # 创建生成器
  7. counter = count_to(5)

  8. # 迭代生成器
  9. for number in counter:
  10.     print(number)
复制代码
这段代码会输出:
  1. 12345
复制代码
每次循环,
  1. yield
复制代码
都会产生一个数字,然后函数就暂停在那里。下一次循环开始时,函数会从上次停下的地方继续执行。
总结


    1. yield
    复制代码
    让函数变成生成器。
  • 生成器可以一次产生一个值,而不是一次性产生所有值。
  • 生成器会记住自己做到哪一步了,下次可以从上次停下的地方继续。
到此这篇关于python中yield关键字的文章就介绍到这了,更多相关python的yield关键字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/python/331107h6m.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具