您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:一篇文章快速理解python中的yield关键字

51自学网 2025-02-05 12:14:43
  python
这篇教程一篇文章快速理解python中的yield关键字写得很实用,希望能帮到您。

前言

想象一下,你正在做一个蛋糕,但是这个蛋糕非常大,你不想一次性把它全部做完,而是想做一点吃一点,yield 关键字就能让你做到这一点。

(插一句,yield本身最广泛使用的意思就是:产生、产量,其实就可以反映它的作用)

一、yield 的基本作用

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

二、如何使用 yield

  • 把函数变成生成器:只要你在函数里用到了 yield,这个函数就不再是一个普通的函数了,它变成了一个生成器。

  • 产生值:每次函数执行到 yield 时,它会“产出”一个值,然后停下来。下次再调用这个生成器的时候,它会从上次停下的地方继续执行。

  • 记住状态:当生成器停下来的时候,它会记住所有的变量和它们的状态,这样下次开始的时候,它就能从上次停下的地方继续。

三、一个简单的例子

def count_to(max):    count = 1    while count <= max:        yield count  # 还没结束但是先记着,这里用 yield 产生值        count += 1   # 继续# 创建生成器counter = count_to(5)# 迭代生成器for number in counter:    print(number)

这段代码会输出:

1
2
3
4
5

每次循环,yield 都会产生一个数字,然后函数就暂停在那里。下一次循环开始时,函数会从上次停下的地方继续执行。

总结

  • yield 让函数变成生成器。
  • 生成器可以一次产生一个值,而不是一次性产生所有值。
  • 生成器会记住自己做到哪一步了,下次可以从上次停下的地方继续。

到此这篇关于python中yield关键字的文章就介绍到这了,更多相关python的yield关键字内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!


详解Python脚本如何消费多个Kafka
Python中uuid模块的应用实例详解
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。