不在乎多少,开始点滴学习Python!今天的开始篇为yield。
借用网上的例子:
def fab(max):
... n,a,b =0,0,1
... while n<max:
... yield b
... a,b=b,a+b
... n =n +1
...
>>> f = fab(5)
>>> f.next()
1
>>> f.next()
1
>>> f.next()
2
>>> f.next()
3
>>> f.next()
5
>>> f.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
第一次执行函数,并没有执行,调用next(),开始执行,这里详解可参考http://www.jb51.net/article/15717.htm这篇博客的解释。