contextmanager-async Contexto async with

Última atualização: 2026-09-22

contextmanager-async Contexto async with

async with é usado em gerenciadores de contexto assíncronos: tanto a entrada quanto a saída aguardam métodos assíncronos.

CategoriaPalavras-chave e Instruções
TipoPalavra-chave / Instrução
Versão do Python3.5+

📝 Sintaxe

async with expr [as var]:
    block

▶ Exemplo

Edite o código, clique em Executar e veja o resultado no painel de saída:

Saída:

Ctx
Mais estudos de caso em breve — aguarde.

❓ Perguntas frequentes

QQual é a diferença entre `async with` e um `with` normal?
A`async with` é para gerenciadores de contexto assíncronos: entrar e sair faz `await` nos métodos assíncronos `__aenter__` / `__aexit__`. Um `with` normal chama os síncronos `__enter__` / `__exit__`.
QPosso escrever `async with` dentro de uma função normal?
ANão. `async with` só pode aparecer dentro de uma função `async def`. Escrevê-lo numa função normal gera `SyntaxError: 'async with' outside async function`.
QComo minha própria classe pode suportar `async with`?
AImplemente dois métodos assíncronos: `async def __aenter__(self)` retornando o objeto de entrada, e `async def __aexit__(self, exc_type, exc, tb)` fazendo a limpeza. Retornar `True` de `__aexit__` engole a exceção; retornar `False` (ou nada) deixa propagar.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%