import asyncio
# 定义一个异步函数,使用 async 关键字
async def fetch_data():
print("开始获取数据...")
# 模拟网络请求,使用 await 关键字等待异步操作完成
await asyncio.sleep(2) # 模拟耗时操作,如网络请求或文件读取
print("数据获取完成")
return {"data": "some data"}
# 定义另一个异步函数,可以同时执行多个任务
async def main():
# 创建多个任务
task1 = asyncio.create_task(fetch_data())
task2 = asyncio.create_task(fetch_data())
# 等待所有任务完成并获取结果
result1 = await task1
result2 = await task2
print(f"任务1的结果: {result1}")
print(f"任务2的结果: {result2}")
# 运行异步主函数
if __name__ == "__main__":
asyncio.run(main())
异步函数定义:
async def
定义异步函数,例如 fetch_data
和 main
。异步操作:
await
关键字等待异步操作完成。这里用 await asyncio.sleep(2)
模拟了一个耗时的网络请求。任务创建与并发执行:
asyncio.create_task()
创建任务,并发执行多个异步操作。await task1
和 await task2
分别等待每个任务完成并获取其返回值。运行异步代码:
asyncio.run(main())
来启动异步主函数 main
,它会自动管理事件循环并执行所有的异步任务。通过这种方式,你可以有效地利用 Python 的异步编程特性来提高程序的性能和响应速度,特别是在处理 I/O 密集型任务时。
下一篇:python print函数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站