本文教程操作环境: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 类12/10
- ♥ python3函数01/11
- ♥ 如何在python中从ftp下载文件10/22
- ♥ 如何在python中获取键盘监视器11/12
- ♥ python对象的三个元素是什么10/21
- ♥ 哪个更高效,Python或c11/03
内容反馈