1.async await
# python为了将语义变得更加明确,就引入了async和await关键词用于定义原生的协程
import types async def downloader(url): return "bobby" @types.coroutine def downloader(url): yield "bobby" async def download_url(url): # dosomethings html = await downloader(url) # await 耗时的操作交个其他函数去处理 在等待函数返回值过程中可以处理其他事情, async配合着await使用 return html if __name__ == "__main__": coro = download_url("http://www.imooc.com") # next(None) # 会抛异常 coro.send(None)