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

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

3天内不再提示

python语言之使用async关键字来定义函数

冬至配饺子 来源:缪斯之子 作者:肖新苗 2022-08-24 11:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

协程背景

早期的协程是用yield来实现的,但是代码特别难懂, python3.5之后的版本, 使用 async 关键字来定义的函数。调用该函数,会返回一个协程对象

async和yield对比

不同点:

1.1 yield语法比较复杂,async语法简单

yield:b=yield a,yield右边的a是第一次的返回值,左边的b是第二次执行的输入值,最后还有一个return是最后一次返回值

async:方法前面加async,做send参数时,只能传None,代码可读性大大提高了, 开发者只需要关注传参和返回值, 而不需要花额外精力去理解yield左右的变量

1.2 async只需要send一次就可以获得返回值,yield要send2次

例子说明

分别用yield和async的方式, 实现协程


async def req1(param):
return param


def req2(param):
res = yield param
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返回值 1
req2接收 2
req2返回值 2
'''


审核编辑:刘清

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

    关注

    3

    文章

    4406

    浏览量

    66837
  • python
    +关注

    关注

    57

    文章

    4857

    浏览量

    89580
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Temu跨境电商按关键字搜索Temu商品API的应用及接口请求示例

    Temu跨境电商按关键字搜索Temu商品API的应用及接口请求示例 Temu跨境电商按关键字搜索Temu商品API的应用场景 Temu跨境电商平台按关键字搜索Temu商品API的主要应用场景包括但不
    的头像 发表于 11-29 15:08 91次阅读

    C语言的编程技巧

    、_Alignas关键字‌:C11标准引入了_Alignas关键字,用于显式指定类型的对齐方式,优化内存访问效率。 ‌5、_Generic关键字‌:C11引入的_Generic关键字
    发表于 11-27 06:46

    哪些场合会用到volatile关键字?

    当你理解 volatile关键字的含义之后,你就能明白,其实很多场合都能用到 volatile关键字。 1.全局变量单片机开发,难免会用到全局变量。一些初级工程师,更是全局变量满天飞。这种情况下
    发表于 11-25 08:19

    天眼查平台关键字搜索企业数据API接口技术指南

    ​ 一、接口概述 天眼查提供的企业搜索API接口,支持通过关键字查询企业工商信息、经营状态等核心数据。该接口采用RESTful架构,返回JSON格式数据。 二、接口认证 调用需使用API密钥认证
    的头像 发表于 11-21 11:48 382次阅读
    天眼查平台<b class='flag-5'>关键字</b>搜索企业数据API接口技术指南

    1688平台关键字搜索商品API接口技术实践指南

    /com.alibaba.product/alibaba.product.search/ 必备参数: { "keyword": "手机", // 搜索关键字 "pageNo": 1, // 页码 "pageSize": 20, // 每页数量 "access_token": "xxx" // 认证令牌 } 二、响应
    的头像 发表于 11-11 14:22 254次阅读
    1688平台<b class='flag-5'>关键字</b>搜索商品API接口技术实践指南

    亚马逊平台根据关键字搜索商品API接口

    ​  在电商开发中,集成亚马逊平台的商品搜索功能是常见需求。通过亚马逊的Product Advertising API(PAAPI),开发者可以根据关键字高效检索商品信息。本技术帖将逐步介绍如何调用
    的头像 发表于 11-05 15:00 119次阅读
    亚马逊平台根据<b class='flag-5'>关键字</b>搜索商品API接口

    简单的内联汇编介绍

    // 非必需 : 可能影响的寄存器或存储器 // 非必需 ); “关键字 asm”为GCC 的关键字,表示进行内联汇编操作。 “关键字 volatile”或“ __volatile__
    发表于 10-30 08:04

    阿里巴巴国际站关键字搜索 API 实战:3 步搞定多语言适配 + 限流破局,询盘量提升 40%

    跨境电商API开发常陷合规、多语言、限流等坑。本文详解从国际合规(GDPR/CCPA)到参数优化、数据结构化及区域化搜索的全链路方案,附Python代码模板与缓存重试架构,助力提升调用成功率至99%+,精准询盘增长42%。
    的头像 发表于 10-20 14:44 852次阅读

    亚马逊 SP-API 深度开发:关键字搜索接口的购物意图挖掘与合规竞品分析

    本文深度解析亚马逊SP-API关键字搜索接口的合规调用与商业应用,涵盖意图识别、竞品分析、性能优化全链路。通过COSMO算法解析用户购物意图,结合合规技术方案提升关键词转化率,助力卖家实现数据驱动决策,安全高效优化运营。
    的头像 发表于 10-17 14:59 339次阅读

    阿里巴巴国际站关键字搜索 API 实战:从多条件筛选到商品列表高效获客

    ​​在跨境电商数据采集场景中,通过关键字精准搜索商品列表是基础且核心的需求。本文将聚焦阿里巴巴国际站的关键字搜索接口,详细介绍如何构建多条件搜索请求、处理分页数据、解析商品列表信息,并提供可直接复用的 Python 实现方案,帮
    的头像 发表于 08-20 09:22 680次阅读
    阿里巴巴国际站<b class='flag-5'>关键字</b>搜索 API 实战:从多条件筛选到商品列表高效获客

    micro 关键字搜索全覆盖商品,并通过 API 接口提供实时数据

    micro 关键字搜索全覆盖商品”并通过 API 接口提供实时数据
    的头像 发表于 07-13 10:13 683次阅读

    基础篇3:掌握Python中的条件语句与循环

    不同的条件执行不同的代码块。Python中的条件语句主要使用if、elif(else if的缩写)和else关键字。 if语句 最简单的条件语句是if语句,它的工作方式如下: 复制代码 if 条件表达式
    发表于 07-03 16:13

    单片机编程关键字之volatile

    volatile 修饰的变量是说这变量可能会被意想不到地改变。通常对于程序员而言,单片机 中用的就算常见了volatile 是易变的,不稳定的意思。其实对于很多人来说,根本没见过这个关键字,不 知道
    发表于 04-02 13:47 2次下载

    带你在单片机编程中熟练使用const(可下载)

    在 C 语言关键字中 const 举足轻重,我们今天就深度聊一聊 const 的定义和实际应用,让它 不再是迷C 语言中 const 关键字
    发表于 04-01 14:18 3次下载

    const定义的是不是常量

    变成数字 5。 第二种跟宏定义类似,常量也可以在编译的时候通过编译器传入。 以 gcc 为例,编译的时候提供 -D 选项,同样会在预处理的时候替换成相应的数字。 第三种枚举,使用 enum 关键字。 枚举的特点是默认从 0 开始,逐渐递增。如果需要大量含义相同的常量
    的头像 发表于 01-14 11:35 643次阅读