Python 使用生成器生成斐波那契數列

2021-10-02 15:36:06 字數 778 閱讀 6031

def

fib(n)

: a,b,counter=0,

1,0while

true

:if counter>n:

return

print

(a,end=

" ")

a,b=b,a+b

counter=counter+

1

fib(10)

0112

35813

2134

55

在python中,使用了yield的函式被稱為生成器,與普通函式不同的是,生成器將返回乙個迭代器的函式,而且生成器只能用於迭代操作,可見,生成器是一種特殊的迭代器。在呼叫生成器執行的過程中,每遇到yield時函式會暫停並儲存當前所有的執行資訊,返回yield的值。並在下一次執行next()方法時從當前位置繼續執行。

ef fib(n)

: a,b,counter=0,

1,0while

true

:if counter>n:

return

yield a

a,b=b,a+b

counter=counter+

1

for nn in fib(10)

:print

(nn,end=

" ")01

1235

8132134

55

python 生成器作用 Python生成器

生成器介紹 在函式內部包含yield關鍵字,那麼該函式執行的結果是生成器,生成器就是迭代器。生成器的功能 把函式結果做成迭代器 以一種優雅的方式封裝好iter,next 提供了一種自己定義迭代器的方式。使用生成器建立乙個迭代器 def a print a yield 11 使用yield,執行後返回...

python生成器好處 Python生成器筆記

python中三大器有迭代器,生成器,裝飾器,本文主要講述生成器。主要從生成器的概念,本質,以及yield關鍵字的使用執行過程。本質 生成器是一類特殊的迭代器,使用了yield關鍵字的函式不再是函式,而是生成器。使用了yield的函式就是生成器 1.yield關鍵字有兩點作用 1.1 yield語句...

python生成器函式 Python 生成器函式

一 生成器 生成器指的是生成器物件,可由生成器表示式得到,也可使用 yield 關鍵字得到乙個生成器函式,呼叫這個函式得到乙個生成器物件 生成器物件,是乙個可迭代物件,是乙個迭代器 生成器物件,是延遲計算 惰性求值的 1.1 生成器函式 函式體重包含 yield 語句的函式,就是生成器函式,呼叫後返...