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

    文章

    315

    浏览量

    21011
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84689
收藏 人收藏

    评论

    相关推荐

    Triton编译器支持的编程语言

    Triton编译器支持的编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Triton语言
    的头像 发表于 12-24 17:33 320次阅读

    对比Python与Java编程语言

    Python与Java都是目前非常流行的编程语言,它们各有其独特的优势和适用场景。以下是对这两种编程语言对比: 一、语法和易用性 Python
    的头像 发表于 11-15 09:31 315次阅读

    NPU支持的编程语言有哪些

    与NPU一起使用: C/C++ : C和C++是性能要求较高的应用的首选语言,尤其是在需要直接与硬件交互的场景中。许多NPU硬件都提供了C/C++接口,以便开发者能够充分利用硬件性能。 PythonPython是深度学习和
    的头像 发表于 11-15 09:21 660次阅读

    C语言与Java语言对比

    C语言和Java语言都是当前编程领域中的重要成员,它们各自具有独特的优势和特点,适用于不同的应用场景。以下将从语法特性、内存管理、跨平台性、性能、应用领域等多个方面对C语言和Java语言
    的头像 发表于 10-29 17:31 340次阅读

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的库和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而
    的头像 发表于 08-01 15:27 1967次阅读

    Python建模算法与应用

    Python作为一种功能强大、免费、开源且面向对象的编程语言,在科学计算、数学建模、数据分析等领域展现出了卓越的性能。其简洁的语法、对动态输入的支持以及解释性语言的本质,使得Python
    的头像 发表于 07-24 10:41 554次阅读

    Python语言基础2

    电子发烧友网站提供《Python语言基础2.rar》资料免费下载
    发表于 07-17 17:23 1次下载

    opencv-python和opencv一样吗

    是OpenCV的一个Python语言接口,它允许开发者使用Python语言来调用OpenCV库的功能。 虽然OpenCV和OpenCV-Python
    的头像 发表于 07-16 10:38 1195次阅读

    Python中的人工智能框架与实例

    在人工智能(AI)领域,Python因其简洁的语法、丰富的库和强大的社区支持,成为了最受欢迎的编程语言之一。本文将详细介绍Python中的人工智能框架,并通过具体实例展示如何使用这些框架来实现不同的人工智能应用。
    的头像 发表于 07-15 14:54 1737次阅读

    使用Python进行自然语言处理

    在探讨使用Python进行自然语言处理(NLP)的广阔领域时,我们首先需要理解NLP的基本概念、其重要性、Python在NLP中的优势,以及如何通过Python实现一些基础的NLP任务
    的头像 发表于 07-04 14:40 456次阅读

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

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

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

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

    Python语言支持KIT_A2G_TC387_MOTORCTR吗?

    使用KIT_A2G_TC387_MOTORCTR开发项目的语言 2. Python语言支持KIT_A2G_TC387_MOTORCTR吗? 如果支持,使用 Python 是否更方便?
    发表于 03-04 07:45

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

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

    c语言,c++,java,python区别

    C语言、C++、Java和Python是四种常见的编程语言,各有优点和特点。 C语言: C语言是一种面向过程的编程
    的头像 发表于 02-05 14:11 2390次阅读