📅  最后修改于: 2023-12-03 15:11:32.016000             🧑  作者: Mango
等待函数是Python中一种异步编程的技术,可以在代码执行时暂时挂起某个任务,等待异步操作完成后再继续执行。等待函数可以提升代码执行效率,特别适合与I/O密集型任务。
Python标准库中的asyncio
模块提供了支持异步编程的接口,其中包含了常用的等待函数。以下是几个常见的等待函数:
asyncio.sleep
是Python中最基本的等待函数之一。它可以让程序等待指定的时间后再继续执行。以下是使用asyncio.sleep
等待1秒后输出"hello world"的例子:
import asyncio
async def greet():
print("Waiting 1 second...")
await asyncio.sleep(1)
print("Hello world!")
asyncio.run(greet())
输出:
Waiting 1 second...
Hello world!
asyncio.wait
可以等待多个协程,直到其中任意一个协程完成时才会返回。以下是一个简单的例子:
import asyncio
async def foo():
await asyncio.sleep(2)
return "foo"
async def bar():
await asyncio.sleep(1)
return "bar"
async def main():
done, pending = await asyncio.wait([foo(), bar()])
for task in done:
print(task.result())
asyncio.run(main())
输出:
bar
foo
asyncio.gather
可以并发多个协程,并等待它们全部完成后返回结果。以下是一个简单的例子:
import asyncio
async def foo():
await asyncio.sleep(2)
return "foo"
async def bar():
await asyncio.sleep(1)
return "bar"
async def main():
results = await asyncio.gather(foo(), bar())
print(results)
asyncio.run(main())
输出:
['foo', 'bar']
以上是等待函数Python的介绍,希望本篇文章对你有所帮助。等待函数是Python异步编程中一个重要的概念,掌握了它可以让你写出更加高效、优雅的异步代码。