0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python语言之await和yield from的对比

冬至配饺子 来源:缪斯之子 作者:肖新苗 2022-08-24 12:02 次阅读

await和yield from对比

不同点:yield from 后面的值,要么是生成器,要么是最终为可迭代对象,而await后面只能跟async开头的方法

相同点: 都是产出结果,让出控制权,等待返回结果

例子说明

分别用await和yield from实现了等待协程完成的过程

async def req1_sub(param):
return param+10


async def req1(param):
res = await req1_sub(param)
res += 100
return res


def req2_sub(param):
res = yield param+10
return res


def req2(param):
res = yield from req2_sub(param)
res += 100
return res


def print_value(f, args):
try:
b = f.send(args)
except StopIteration as e:
print(f'{f.__name__}返回值 {e.value}')
return e.value
else:
print(f'{f.__name__}接收 {b}')
return b


g1 = req1(1)
print_value(g1, None)


g2 = req2(2)
res = print_value(g2, None)
print_value(g2, res)

'''
结果:
req1返回值 111
req2接收 12
req2返回值 112
'''


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 生成器
    +关注

    关注

    7

    文章

    306

    浏览量

    20602
  • python
    +关注

    关注

    53

    文章

    4701

    浏览量

    83701
收藏 人收藏

    评论

    相关推荐

    鸿蒙OS开发实例:【ArkTS类库异步并发async/await

    async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码变得更加简单和易读。通过使用async关键字声明一个函数为异步函数,并使用await关键字等待Promise的解析(完成或拒绝),以同步的方式编写异步操作的代码。
    的头像 发表于 04-02 20:57 390次阅读
    鸿蒙OS开发实例:【ArkTS类库异步并发async/<b class='flag-5'>await</b>】

    鸿蒙原生应用开发-ArkTS语言基础类库异步并发简述async/await

    async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码变得更加简单和易读。通过使用async关键字声明一个函数为异步函数,并使用await关键字等待Promise的解析
    发表于 03-06 14:44

    四种编程语言之间的区别和联系

    编程语言是一种人与计算机之间进行交流的方式,不同的编程语言有着不同的特点和用途。本文将对四种常见的编程语言——Python、Java、C++和JavaScript进行比较,分析它们的区
    的头像 发表于 02-05 14:16 596次阅读

    python语言特点有哪些

    Python是一种高级编程语言,由Guido van Rossum于1991年首次发布。它具有许多独特的特点,这些特点使得Python在软件开发领域变得非常流行。以下是关于Python
    的头像 发表于 11-29 14:29 582次阅读

    Python编程语言属于什么语言

    Python编程语言属于高级编程语言中的一种。它是一种通用、面向对象、解释型编程语言Python由Guido van Rossum于198
    的头像 发表于 11-22 14:31 851次阅读

    Go语言Python强多少

    1.都说Go语言性能非常强大,那么到底比Python强多少? 为了比较Go语言Python语言在单线程性能上的差距,我们可以做一个简单实验
    的头像 发表于 11-02 14:05 359次阅读
    Go<b class='flag-5'>语言</b>比<b class='flag-5'>Python</b>强多少

    Python yield的作用

    要理解yield的作用,你必须理解生成器是什么。在理解生成器之前,必须先理解迭代器。 迭代器 当您创建一个列表时,你可以逐个读取它的项。逐项读取其项称为迭代: mylist是一个可迭代的对象。当你
    的头像 发表于 11-02 11:21 281次阅读
    <b class='flag-5'>Python</b> <b class='flag-5'>yield</b>的作用

    如何学会 Python yield 关键词

    要理解yield的作用,你必须理解生成器是什么。在理解生成器之前,必须先理解迭代器。 1.迭代器 当您创建一个列表时,你可以逐个读取它的项。逐项读取其项称为迭代: mylist是一个可迭代的对象
    的头像 发表于 10-31 11:06 200次阅读
    如何学会 <b class='flag-5'>Python</b> <b class='flag-5'>yield</b> 关键词

    python和人工智能的关系

    python和人工智能的关系 Python语言是人工智能领域最为流行和广泛应用的编程语言之一,因为它有很多优点: 1. 简洁易学:Python
    的头像 发表于 08-17 16:29 589次阅读

    人工智能要学什么语言

    Python是人工智能开发中最受欢迎的编程语言之一。它是一种易于学习和使用的编程语言,具有很高的可读性和简洁性。Python的特点是其拥有丰富的类库和工具,这些工具可以帮助开发人员快速
    的头像 发表于 08-14 15:19 2188次阅读

    人工智能需要什么编程语言

    Python是最流行的人工智能编程语言之一。它是一种高级语言,它的语法简单易学,容易上手。Python拥有众多的第三方库和工具,如TensorFlow和PyTorch等,这些库和工具使
    的头像 发表于 08-13 13:56 1470次阅读

    Go能取代Python成为开发者的首选语言吗?

    过去的很多年,Python是人工智能和数据科学领域最受欢迎的编程语言。5G时代来临后,Python有点「力不从心」......Python是一个解释性
    发表于 08-03 10:11 353次阅读
    Go能取代<b class='flag-5'>Python</b>成为开发者的首选<b class='flag-5'>语言</b>吗?

    高级Python编程知识-24.yield from - 第2节高级Python编程知识-24.yield f

    编程python
    充八万
    发布于 :2023年07月30日 08:17:29

    高级Python编程知识-24.yield from - 第1节高级Python编程知识-24.yield f

    编程python
    充八万
    发布于 :2023年07月30日 08:16:39

    2023年受欢迎8款编程语言排名:Python 第二

    根据DevJobsScanner发布的报告,2023年度(从2022年1月到2023年5月)需求量最大的编程语言数据显示,JavaScript、Python和Java仍然是职场上备受欢迎的编程语言
    的头像 发表于 07-28 17:57 4698次阅读