python: yield迭代器
迭代器是访问集合内元素的一种方式,它是一个对象。在访问时,从第一个元素开始访问,直到所有元素都被访问一遍。迭代器不能后退,只能通过next()方法向前进行迭代,每一个next()方法只能访问一个元素。比如:斐波那契数列:
def Fibonacci(max):
n,a,b=0,0,1
while n<max:
yeild b
a,b=b,a+b
n+=1
for i in Fibonacci(5):
print(i)
#或者用next():
f=Fibonacci(5)
print(f.next())
print(f.next())
print(f.next())
print(f.next())
print(f.next())