Python获取协程返回值的方式有哪些
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍"Python获取协程返回值的方式有哪些",在日常操作中,相信很多人在Python获取协程返回值的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
pythin数据库界面
杭州市牛网络技术有限公司
软件开发哪里好翰诺科技
美颜特效制作软件开发
数据库技术员及应用实训报告
凭证数据库需求分析
数据库方式 写 EXCEL
如何把游戏挂在阿里云服务器
踩博客软件开发
深圳市迦蓝网络技术有限公司
服务器12伏风扇改装
教学软件开发的一般流程
工控机 服务器
百度未收到数据库
大数据云计算网络安全概念股
diremi服务器密码
简单的学生管理数据库的整体代码
r 文字 丢失数据库
网络安全手抄报句子哪一些
电网公司网络安全
华胜天成数据库排名
dns服务器的可视化管理
软件开发详细设计包含哪些
pdrr网络安全模型结构
太平洋服务器
软件开发被挖人
明日之后角色转移服务器
博荣软件开发有限公司招聘
学计算机网络技术需要什么性格
教育软件开发原则