通俗易懂yield 的基本使用- 专为小白设计

本文将深入探讨Python中的`yield`关键字,对比其与`return`的区别。通过实例解析,阐述`yield`如何在内存中创建迭代器,每次调用函数时如何从上次断点继续执行,而非重新开始。
摘要由CSDN通过智能技术生成

一、 yield 和 return 之间的小区别

1、相同点:
	两者 均可 将内容 返回给调用者
2、不同点:
	取值:return 可以从调用者那里直接打印处理来,yield 需要通过next()方法 取获取值
	运行方式:⑴、方法运行到 return 后 会结束该方法,return 后的内容 不再执行
	        ⑵、方法运行到 yield 后 同样也会结束该方法的运行,下次调用会接着
	        yield 后边的内容继续运行(前提是 必须 是同一个实例对象 多次调用同一个方法,之前
	        曾遇到过一些坑,后边说)
举例1def test():
		return '1'
	
	def test1():
		yield '2'
	
	print(test()) --得到的结果 为 1
	print(test1()) -- 得不到任何结果,原因 yield 返回的是 一个迭代器(可以被迭代的容易,
	可以想象成返回的是 一个列表,里边只有一个元素 2,我们取出里边的值 只能通过 next()的方法)
	print(next(test1())
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值