大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关python中生成器的原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比天宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式天宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖天宁地区。费用合理售后完善,十载实体公司更值得信赖。
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
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中生成器的原理是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。