当前位置: 首页 > news >正文

Python_yield

yield是Python中的关键字,用于在函数中返回生成器。
当函数被调用时,yield会返回一个值,并保存当前函数状态。
下次迭代时,函数会从保存的状态继续执行,而非从头开始。
yield常用于处理大数据集或需要保持内存使用高效的场景。
例如,创建一个简单的生成器函数:

def count_up_to(n):for i in range(n):yield i# 使用生成器
for num in count_up_to(5):print(num)

此函数会依次返回0到n-1的值。

跟普通的 return 不同的是,yield 会返回一个值,并且保存当前函数的状态,以便下次迭代时从此状态继续执行。这在处理大数据集或需要保持内存使用高效的场景中特别有用。

def simple_generator():yield 1yield 2yield 3# 使用生成器
gen = simple_generator()for value in gen:print(value)

这个生成器函数会依次返回 1、2 和 3,并且在每次 yield 之后都会暂停,直到被再次调用。
再看一个稍微复杂一点的例子,用 yield 来生成斐波那契数列:

def fibonacci_sequence():a, b = 0, 1while True:yield aa, b = b, a + b# 使用生成器
fib = fibonacci_sequence()for _ in range(10):print(next(fib))

在这个例子中,fibonacci_sequence 是一个无限生成斐波那契数列的生成器。利用 yield,我们可以在不占用大量内存的情况下获取数列中的任意多个元素。


http://www.mrgr.cn/news/34974.html

相关文章:

  • inplace-abn报错
  • 2024年网络安全人才平均年薪 24.09 万,跳槽周期 31 个月,安全工程师现状大曝光!_2024网络安全人才市场状况研究报告
  • 智能密码、指纹锁语音芯片ic方案 可存放40s语音内容 NVD语音芯片
  • 电器行业文件加密怎么做?防泄密哪种方法实用?
  • CSS注释
  • C++中序列式容器和关联式容器
  • Vue3:shallowRef与shallowReactive
  • 数据处理与统计分析篇-day09-数据透视表与日期时间处理
  • 记一次Copilot被封解封的经历
  • 企业数据安全与资产处置的最佳选择 —— 淼一科技
  • 宝马撑不住了,买i7居然能省出一辆问界M9
  • USB总线同步数据采集卡6路高速模拟量采集带DIO功能USB2884/2885/2886
  • 智能挖耳勺和普通挖耳勺区别在哪? 4款智能挖耳勺推荐!
  • android 页面布局(1)
  • hrm人力资源管理系统,绩效,考勤,薪酬,五险一金,等全面人力管理(源码+配套方案)
  • 【C++掌中宝】走进C++引用的世界:从基础到应用
  • 人工智能AI数据库,太酷了吧!(附医疗/金融/零售行业方案)
  • 【排列距离 / B】
  • 大厂离职故事:创业路上,不怕犯错(电梯节能)
  • Python163邮箱发送:提升发送效率的技巧?