Python練習 生成器 乙個生成器被坑的體無完膚

2022-04-06 00:31:55 字數 804 閱讀 6209

**如下,盡可能獨立閱讀:

1#2

from urllib.request import urlopen #

匯入乙個包,這就是egon留的乙個坑

3def get(url):#

這是為了保證題目的原裝性所以還是要有乙個url引數,實際上完全沒有這個必要

4def index():#

可能是egon想要我們更加熟悉閉包的概念

5while

true:

6 url = yield

#在這裡將yield返回的值賦給url

7print(urlopen(url).read())#

列印url讀出的結果

8return

index

9 g=get("

純粹為了題目要求留出的無聊引數

")()#

這裡為了題目中的g生成器函式返回值10#

其實上面這句話可以被理解為↓11#

gen = get("純粹為了題目要求留出的無聊引數")12#

g = gen()13#

這裡就是用到了多重函式的概念

14 next(g)#

程式執行到yield時,url等待yield的返回值

15 g.send("

")#將引數值使用send的方式傳遞給yield16#

傳值之後yield將值返回給url,程式繼續執行直到迴圈再次遇到yield時,url等待yield的返回值

17 g.send("

")18 g.send("

")

練習 生成器和模組

1.寫乙個生成式能夠產生的資料為 1,4,27,256,3125,9 9num1 n n for n in range 1,10 print next num1 2.寫乙個生成式能夠產生1 10中所有半徑是偶數的圓的面積num2 math.pi r 2 for r in range 1,11 if ...

Python練習 乙個簡單的生成器

今天我們學習了生成器,怎麼理解生成器呢,其實就是使用函式的方式自己建立乙個迭代器 1 2 做乙個簡單的生成器 3def easygene args 建立乙個生成器方法並傳遞多個引數 4for i in args 5yield i 將獲取的多個引數值,全部yield返回 6 g easygene a ...

python生成器練習

def odd max n 0 while n max yield 2 n n n 1 print 2 n return done f odd 11 print f for i in f print i while true try x next f print g x except stopite...