python yield return 区别

yield
yield是用于生成器。什么是生成器,你可以通俗的认为,在一个函数中,使用了yield来代替return的位置的函数,就是生成器。它不同于函数的使用方法是:函数使用return来进行返回值,每调用一次,返回一个新加工好的数据返回给你;yield不同,它会在调用生成器的时候,把数据生成object,然后当你需要用的时候,要用next()方法来取,同时不可逆。

def func3():
for i in range(1,5):
    yield i#装入

gob = func3()#generator 类型
print(next(gob))  # 1    释放的第一个装入的数据,(先入先出)
print(next(gob))  # 2
print(next(gob))  # 3
print(next(gob))  # 4
gob = func3()  #再次调用
print(next(gob))  # 1 重新开始了
print(next(gob))  # 停止迭代异常

print(next(ge1())) 
print(next(ge1())) #不管调用多次返回的都是1 第一个返回值 正确gob = func3()

return
这个大家都知道了,一句话,return既可以终止函数的执行,也可以返回函数加工处理好的数据,只是这个数据需要一个载体来进行保存,通常是变量。非条件判断的时候,只要遇见return,函数就结束执行。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容