首页 > 编程语言 > 详细

python基础补漏-05-生成器和装饰器

时间:2016-12-30 19:00:30      阅读:226      评论:0      收藏:0      [点我收藏+]

【1】生成器

 很难用简单的语言描述生成器。

生成器:从字面上来理解,就是以某种规则为基础,不断的生成数据的工具

生成器函数: 在函数中如果出现了yield关键字,那么该函数就不再是普通函数,而是生成器函数。

我们先举个例子

def fib(max):  
    a, b = 1, 1  
    while a < max:  
        yield a
        a, b = b, a+b
for i in fib(100):
    print i

   如果没有yield 那么这个函数中的内容可要执行很多此了,那么这个函数就像,抗日神剧里面鬼子使用的三八大盖。发射一发子弹后就不能发射了,必须重新装弹才能发射下一发

在一个生成器中,如果没有return,则默认执行到函数完毕时返回StopIteration;

而通常我们说 生成器的意义:通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 --借用雪峰大大的话

【2】装饰器

 

python基础补漏-05-生成器和装饰器

原文:http://www.cnblogs.com/nerdlerss/p/6237544.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!