本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、概念
生成器是通过使用
yield语句
而不是return语句定义一个普通函数来创建的。如果函数包含至少一个yield语句,它就成为一个生成器函数。yield和return都将从函数返回一些值。函数在执行return时终止,而yield语句暂停函数,保存它的所有状态,然后在后续调用时继续执行。
2、组成
至少有一个
yield语句。
返回一个对象
(迭代器),但不立即开始执行。
记住连续调用之间的局部变量及其状态。
实现迭代协议。
3、原理分析
下面是使用生成器的类似内容。可以发现,调用__iter__()和__next__()都是由
生成器自动处理
的:
# Generator for next power of two.
def NextPowTwo(max_ele):
n = 0
while n < max_ele:
yield 2 * n
n += 1
raise StopIteration
obj = NextPowTwo(20)
print (obj.next())
print (obj.next())
print (obj.next())
print (obj.next())
在对于
学习python的时候,很容易把生成器和其他知识点搞混。其实有一个最简单的判断方法,看你有没有使用yield函数就可以了。
以上就是
探究了python生成器的原理,相信现在可以通过yield来理清生成器的使用了。同时,我们可以发现生成器在自动处理调用方面非常有用。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python返回函数与返回值的区别分析01/04
- ♥ 如何在python中获取列表的长度08/21
- ♥ 如何搭建和使用python虚拟环境?11/28
- ♥ 如何在python中将时间转换为时间戳09/10
- ♥ 如何判断python字典的key是否存在09/19
- ♥ 学完python能赚多少钱10/09
内容反馈