python return和yield有什么不同

不同点

1、return函数中只存在一个return结束函数。

并且给函数的执行者返回值。

2、只要在函数中有yield,那么它就是生成器函数而不是函数。

3、生成器函数中可以存在多个yield,yield不会结束生成器函数。

一个yield对应一个next。

实例

defeat():
foriinrange(1,10):
yield'包子'+str(i)

e=eat()
foriinrange(5):
print(next(e))
#多次next包子的号码是按照顺序记录的。
>>>
包子1
包子2
包子3
包子4
包子5

以上就是python return和yield的不同,希望对大家有所帮助。更多Python学习指路:Python基础教程

发表回复