代码如下,尽可能独立阅读:

1 # 编辑者:闫龙

2 from urllib.request import urlopen #导入一个包,这就是egon留的一个坑

3 def get(url):#这是为了保证题目的原装性所以还是要有一个url参数,实际上完全没有这个必要

4 def index():#可能是egon想要我们更加熟悉闭包的概念

5 while True:

6 url = yield#在这里将yield返回的值赋给url

7 print(urlopen(url).read())#打印url读出的结果

8 return index

9 g=get("纯粹为了题目要求留出的无聊参数")()#这里为了题目中的g生成器函数返回值

10 #其实上面这句话可以被理解为↓

11 #Gen = get("纯粹为了题目要求留出的无聊参数")

12 #g = Gen()

13 #这里就是用到了多重函数的概念

14 next(g)#程序执行到yield时,url等待yield的返回值

15 g.send("http://www.baidu.com")#将参数值使用send的方式传递给yield

16 #传值之后yield将值返回给url,程序继续执行直到循环再次遇到yield时,url等待yield的返回值

17 g.send("http://www.oldboyedu.com/")

18 g.send("http://www.python.org")

 

查看原文