最近接触到Python中的yield关键字,看了一些相关的文章,感觉写得都太复杂了,弄一堆概念容易把人弄晕。
讲下我自己的理解:
首先需要知道带有yield关键字的函数(我们叫它生成器函数generator function)一般在for语句中调用。从yield关键字开始,往后的代码(包括yield这一行)会不断循环运行,而yield关键字具有类似抽样器的作用,将每次运行到此处时yield后面的表达式的值返回,作为for语句产生的一个值(比如for i in range(5),这些值就分别是i对应的0、1、2、3、4),直到函数遇到终止条件。
写在此处作为记录,日后有更深理解再回来修改。
参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/index.html斐波那契的例子值得一看
https://liam.page/2017/06/30/understanding-yield-in-python/比较详尽