fibonacci.py源代码分析
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>"""Fibonacci sequences using generatorsThis program is part of "Dive Into Python", a free Python book for
experienced programmers. Visit http://diveintopython.org/ for the
latest version.
"""
__author__ = "Mark Pilgrim (mark@diveintopython.org)"
__version__ = "$Revision: 1.2 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "Copyright (c) 2004 Mark Pilgrim"
__license__ = "Python"
def fibonacci(max):
a, b = 0, 1
%将a赋为0,b赋为1
while a < max:
yield a
%特别注意此处的yield:yield每执行一次,将把它后面的参数记住,打个比方,有点类似于数据结构 里面的栈,将a压入栈,每执行一次yield,将a的值压入一次
a, b = b, a+b
%fibonacci算法的规律
for n in fibonacci(1000):
print n,
%将fibonacci(1000)中yield存储的1000个a的值全部打印出来。
页:
[1]