Python获取协程返回值的方式有哪些
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"Python获取协程返回值的方式有哪些",在日常操作中,相信很多人在Python获取协程返回值的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2026年10月31日Python获取协程返回值的方式有哪些
这篇文章主要介绍"Python获取协程返回值的方式有哪些",在日常操作中,相信很多人在Python获取协程返回值的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python获取协程返回值的方式有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
介绍
获取协程返回值的四种方式:
1、通过ensure_future获取,本质是future对象中的result方
2、使用loop自带的create_task, 获取返回值
3、使用callback, 一旦await地方的内容运行完,就会运行callback
4、使用partial这个模块向callback函数中传入值
源码
import asynciofrom functools import partialasync def talk(name): print(f"talk function run.") await asyncio.sleep(0.1) return f"{name} talk!"async def sleep(name): print(f"sleep function run.") await asyncio.sleep(0.1) return f"{name} sleep!"def callback(name): print(f"主动抛出接收:{name}")if __name__ == "__main__": # 通过ensure_future获取,本质是future对象中的result方法 # loop = asyncio.get_event_loop() # get_future1 = asyncio.ensure_future(talk("Dog")) # get_future2 = asyncio.ensure_future(sleep("Cat")) # loop.run_until_complete(get_future1) # loop.run_until_complete(get_future2) # print(get_future1.result()) # print(get_future2.result()) # 使用loop自带的create_task, 获取返回值 # loop = asyncio.get_event_loop() # task1 = loop.create_task(talk("Dog")) # task2 = loop.create_task(sleep("Cat")) # loop.run_until_complete(task1) # loop.run_until_complete(task2) # print(task1.result()) # print(task2.result()) # 使用callback, 一旦await地方的内容运行完,就会运行callback # loop = asyncio.get_event_loop() # task1 = loop.create_task(talk("Dog")) # task2 = loop.create_task(sleep("Cat")) # task1.add_done_callback(callback) # task2.add_done_callback(callback) # loop.run_until_complete(task1) # loop.run_until_complete(task2) # print(task1.result()) # print(task2.result()) # 使用partial这个模块向callback函数中传入值 loop = asyncio.get_event_loop() task1 = loop.create_task(talk("Dog")) task2 = loop.create_task(talk("Cat")) task1.add_done_callback(partial(callback)) task2.add_done_callback(partial(callback)) loop.run_until_complete(task1) loop.run_until_complete(task2) print(task1.result()) print(task2.result())依次执行结果
通过ensure_future获取,本质是future对象中的result方法

使用loop自带的create_task, 获取返回值
用callback, 一旦await地方的内容运行完,就会运行callback
使用partial这个模块向callback函数中传入值
到此,关于"Python获取协程返回值的方式有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
运行
方式
学习
内容
函数
地方
对象
方法
本质
模块
更多
帮助
实用
主动
接下来
文章
源码
理论
知识
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网
互联网最新的科技
奇酷互联网络科技
南京欣网互联网科技
融势互联网科技
丰台科技园 互联网公司
互联网科技创新企业排名
央行互联网金融科技公司
科技互联网大厂
千方科技属于互联网企业吗
阿大互联网科技有限公司
互联网新科技动漫ppt素材
用友工业互联网科技发展
徐州市互联网科技有限公司
互联网科技快讯热点
美国五大互联网科技公司市值多少
玉溪新华互联网科技怎么选
深圳互联网科技园地址
互联网科技创业有什么好项目
恒生科技互联网指数十大成分股
科技与互联网
互联网核心科技是什么
致骋互联网科技
致聘互联网科技
中正互联网科技招聘
云创客互联网科技公司
现代科技和互联网有关系吗
互联网和黑科技的看法
上海科技产业互联网平台
福建互联网展示科技馆设计