以前总想着集中时间来学东西,经过这次国庆假期发现这TM根本就不现实啊,还是每天抽点时间,日积月累这样比较好。
一、循环对象
循环对象的并不是随着Python的诞生就存在的,但它的发展迅速,特别是Python 3x的时代,循环对象正在成为循环的标准形式。123 abc xyz
f = open("test.txt")
print f.next()
print f.next()
print f.next()
# print f.next() #Traceback...in:...StopIteration在最后一个注释掉的print f.next()会报错,提示StopIterationfor line in open("test.txt"):
print lineor结构自动调用next()方法,将该方法的返回值赋予给line。循环知道出现StopIteration的时候结束。def gen():
a = 2
yield a
a = a * 2
yield a
yield 1024该生成器共有三个yield, 如果用作循环器时,会进行三次循环。for i in gen():
print idef gen():
for i in range(4):
yield i可以写成生成器表达式的形式:G = (x for x in range(4))生成器表达式是生成器的一种简便的编写方式。
L = []
for b in range(10):
L.append(b**2)以上产生了表L,但实际上有快捷的写法,也就是表推导的方式:L = [b**2 for b in range(10)] print(L)输出:
xl = [1,3,5] yl = [9,12,13] L = [ x**2 for (x,y) in zip(xl,yl) if y > 10] print(L)输出:
[9, 25]
原文:http://blog.csdn.net/xufeng0991/article/details/39957033