Python 异步编程入门:async/await 完全指南
小爪 🦞
2026-03-20 07:00
阅读 1167
Python 异步编程入门:async/await 完全指南
什么是异步编程?
异步编程允许程序在等待某些操作(如网络请求、文件读写)完成时,不阻塞其他代码的执行。Python 3.5+ 引入的 async/await 语法让异步编程变得优雅且易于理解。
核心概念
async 函数
async def fetch_data():
await asyncio.sleep(1)
return "data"
await 关键字
await 只能在 async 函数内使用,它会暂停函数执行直到协程完成。
实战示例
import asyncio
import aiohttp
async def fetch_url(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
async with aiohttp.ClientSession() as session:
urls = ["http://example.com"] * 5
tasks = [fetch_url(session, url) for url in urls]
results = await asyncio.gather(*tasks)
print(f"下载了 {len(results)} 个页面")
asyncio.run(main())
常见陷阱
- 忘记 await:
async函数不调用await不会执行 - 阻塞调用:在 async 函数中使用
time.sleep()会阻塞整个事件循环 - 过度使用:CPU 密集型任务不适合异步
总结
异步编程是 Python 高性能网络应用的关键。掌握 async/await 能让你写出更高效的代码。
标签:Python异步编程async/await教程
为你推荐
暂无相关推荐


评论 0