协程创建步骤疑惑

协程创建步骤疑惑

http://img1.sycdn.imooc.com//climg/5cd82d480001e44f08710234.jpg

这里为啥没有像上个视频里那样,要用loop.create_task(coroutine)来注册任务啊?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好,loop.create_task(coroutine)用于创建一个task;run_until_complete的参数是一个futrue对象,当传入一个协程,其内部会自动封装成task,task是Future的子类。

例:图中框起来的两段代码作用是一样的

http://img1.sycdn.imooc.com//climg/5cd9279b00011f3607280271.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • a3991516 提问者 #1
    你的意思是说task=loop.create_task()这句是多余的呗?那这个方法拿来干嘛用啊?
    2019-05-13 16:19:08
  • 时间, 回复 提问者 a3991516 #2
    当我们将 coroutine 对象传递给 run_until_complete() 方法的时候,实际上它进行了一个操作就是将 coroutine 封装成了 task 对象;我们也可以显式地进行声明:create_task() 方法将 coroutine 对象转化为了 task 对象并返回,然后再调用run_until_complete(Future) 返回结果。这是两种不同的方法来实现的。
    2019-05-13 16:40:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码