生成器不但可以产出值 ,还可以接收调用方的入参
举个例子
def gen_fun(): # 这种方式 ,即可产出值 ,也可以接收调用传进来的参数 html = yield "http://www.baidu.com" print(html) # 这种方式就只能产出值,不能接收调用方入参 yield "哈哈" yield "嘎嘎" if __name__ == '__main__': gen = gen_fun() print(next(gen)) # next方法获取生成器的产出值 send_result = gen.send('我就是html') # send方法,将参数传到生成器内部,同时还可以重启生成器,执行yield之后内容 print(send_result)
打印结果:
http://www.baidu.com 我就是html 哈哈
一切尽在代码打印中.
next() : 获取生成器的产出值
send() : 将参数传到生成器内部 ,同时重启生成器,返回下一个yield值