Pythonではジェネレータ方式でフィボナッチ数列を出力

344 ワード

yieldキーワードを含む関数はジェネレータ関数です.さらにyieldはreturnと共有できず、yieldは関数内でしか使用できません.yieldはreturnと同じ値を返すことができますが、yieldは関数を終了しません.
def fib(n): #       
    a,b=1,1
    i=1 #    
    while i<=n: # i    n,n          
        yield a #   a  ,      
        a,b=b,a+b
        i+=1 #    
for x in fib(12): #  for     yield    
    print(x)