PEP 492中对异步上下文管理器的定义感到困惑:
添加了两个新的魔术方法:__aenter__和__aexit__。两者都必须返回 awaitable 。
示例代码为:
class AsyncContextManager:
async def __aenter__(self):
await log('entering context')
async def __aexit__(self, exc_type, exc, tb):
await log('exiting context')
但是这两个协程什么也不返回... 是吗?
await
的作用。