生成器的使用注意

2022-08-23 18:12:06 字數 943 閱讀 3418

主要是生成器中return的作用,以及生成器的send()方法

1

deffibnacc(num):

2 a= 1

3 b = 1

4 current_index =0

5while current_index6 data =a

78 current_index+=1

9 a,b=b,a+b

10 send_cont = yield

data

11print("

執行到這,馬上執行return")

12if send_cont==2:

13return

"我可以讓生成器結束奧"14

#yield:1.充當返回值的作用2.儲存程式的執行狀態,並且暫停程式執行3.當next的時候,可以繼續換行程式從yield位置繼續向下15#

執行16

#在生成器中使用return實際上就是讓生成器結束

1718

if__name__ == '

__main__':

19 fib = fibnacc(6)

20 value =next(fib)

21print

(value)

22try

:23 value =fib.send(2) #

生成器.send(num) num的值被傳遞到了send_cont處去了

24print

(value)

25except

exception as e:

26print

(e)27

#在生成器中使用return,返回來的值實際上就是異常的輸出 stopiteration: 我可以讓生成器結束奧

express生成器的使用

express生成器可自動生成乙個以ejs模板引擎生成的乙個專案裡面包含了一些基本的配置 模組,靜態資源等 1 npm安裝 npm i exrpess generator g 全域性進行安裝 2 在命令框使用 express view ejs 自定義名稱 自動生成的目錄結構如下 bin www 專案...

python 生成器注意事項

讀取檔案中的內容,可以形成列表項。長的列表可能使記憶體崩潰。此時可以使用生成器。def read content file with open file as f for line in f yield line生成器作為乙個迭代器,有狀態,只能使用一次,第二次將返回空。解決辦法 變長引數,會首先轉...

生成器 PHP的生成器yield 原創

在php 5.5中,php多了乙個新的特性,那就是生成器 generator 生成器提供了一種更簡單的方法來實現簡單的物件迭代。下面的manual的引用 生成器提供了一種更容易的方法來實現簡單的物件迭代,相比較定義類實現 iterator 介面的方式,效能開銷和複雜性大大降低。生成器允許你在 for...