1.1生成器通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照..
分类:
编程语言 时间:
2016-07-07 06:25:30
阅读次数:
221
一、Python生成器/迭代器 1 2 3 4 5 6 7 8 9 10 11 12 #!/bin/env python # -*- coding:utf-8 -*- def shaw(n): start = 0 while True: if start > n: return yield star ...
分类:
编程语言 时间:
2016-07-03 21:15:53
阅读次数:
314
1.函数的嵌套定义:在函数里面定义一个函数。2.装饰器:装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继..
分类:
编程语言 时间:
2016-06-22 11:09:27
阅读次数:
257
生成器 1.定义 问题:python会把对象放到内存中,我们每次定义变量、列表等都会在内存中占用对应的地址块,所以当内存容量一定时,列表的容量会受到内存的限制,而且假如我们创建了一个包含200万个元素的列表,不仅会占用很大的地址空间,如果我们仅仅需要访问前面的几个元素,那么会造成后面的元素占用的空间 ...
分类:
编程语言 时间:
2016-06-11 10:26:28
阅读次数:
191
一.迭代器 迭代器是访问集合元素的一种方式 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next() 字符串,列表或元组对象都可用于创建迭代器 特点: 迭代器可以使用fo ...
分类:
编程语言 时间:
2016-05-29 16:41:09
阅读次数:
163
常用方法: next 获取下一个值 send 发送值到生成器 throw 发送异常到生成器 python生成器模拟线程并发: ...
分类:
编程语言 时间:
2016-05-27 16:24:11
阅读次数:
132
面试的时候遇到过这样的一个题目: 斐波切纳数列1,2,3,5,8,13,21.........根据这样的规律,编程求出400万以内最大的斐波切纳数,并求出是第几个斐波切纳数。 方法一: 方法二:这个方法用到了生成器: 生成器介绍:通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量 ...
分类:
编程语言 时间:
2016-05-25 01:56:25
阅读次数:
364
生成器(generator):一个函数调用时返回一个迭代器,那么这个就叫生成器(generator),如果函数中包含yield语法,那么这个函数就变成了生成器return作用:在一个生成器中,如果没有return,则默认执行到函数完毕;如果遇到return,如果在执行过程中return则会抛出StopIterati..
分类:
其他好文 时间:
2016-05-05 07:11:14
阅读次数:
140
生成器yield:使用yield语句
可以让函数生成一个结果序列而不仅仅是一个值defcountdow(n):
print("Start!");
whilen>0:
yieldn;
n-=1;
c=countdow(5);
print(c.__next__())
print(c.__next__())输出结果:Start!54__next__()方法使生成器函数一直运行到下一条yield语句为止,..
分类:
编程语言 时间:
2016-05-04 10:47:52
阅读次数:
208