首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python进阶之异步任务

0.导语1.yield关键字2.异步加载asyncio第一种方式第二种方式python进阶之异步任务0.导语

本文学习视频来自莫凡python,下面是总结的学习内容。

关于星球,我在稍微阐述一点,我用自己的精力在星球中发布小项目,发布日打卡,共同来学习某一块知识,所以改为收费模式,希望通过收费可以筛选出一波真正想学习的人,共同坚持,就像公众号一样,屹立不倒,昨天立了个flag,每日分享一条消息或文字或技术,共同坚持学习!

1.yield关键字

yield类似于return,

但不同之处在于它返回的是生成器!

生成器

生成器是通过一个或多个yield表达式构成的函数。每一个生成器都是一个迭代器(但迭代器不一定是生成器)。

生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态。等待下一次的调用。

由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。

除此之外,生成器还支持send函数,该函数可以向生成器传递参数。

2.异步加载asyncio

asyncioasyncio可以实现单线程并发IO操作

async和await是针对coroutine的新语法,要使用新的语法,只需要做两步简单的替换:

把@asyncio.coroutine替换为async;

把yield from替换为await。

第一种方式

第二种方式

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190107G0708000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券