Gerenciadores de contexto (instruções with)
Descubra o poder dos gerenciadores de contexto para administrar recursos
Gerenciadores de contexto (instruções with) é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 3 de 5. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 5 aulas no total.
Introdução aos gerenciadores de contexto
Introdução aos gerenciadores de contexto
Os gerenciadores de contexto em Python ajudam a gerenciar recursos como arquivos, conexões de rede e conexões com bancos de dados. Eles garantem que os recursos sejam adquiridos e liberados corretamente, mesmo que ocorra um erro.
Nesta lição, você aprenderá a usar e criar gerenciadores de contexto usando a instrução with.

O que é um gerenciador de contexto?
O que é um gerenciador de contexto?
Um gerenciador de contexto é uma construção que permite alocar e liberar recursos de forma eficiente. Ele usa a instrução with para envolver o código de gerenciamento de recursos.
# Using a context manager with a file
with open("example.txt", "r") as file:
content = file.read()
print(content) # File is automatically closed after the blockPor que usar gerenciadores de contexto?
Por que usar gerenciadores de contexto?
Os gerenciadores de contexto ajudam você a:
- Garantir a limpeza adequada dos recursos.
- Reduzir as chances de vazamentos de recursos.
- Escrever um código mais limpo e legível.
Gerenciadores de contexto integrados
Gerenciadores de contexto integrados
O Python inclui vários gerenciadores de contexto integrados, como:
open: Gerencia operações com arquivos.decimal.localcontext: Gerencia configurações de precisão para operações decimais.
Criando um gerenciador de contexto personalizado
Criando um gerenciador de contexto personalizado
Você pode criar um gerenciador de contexto personalizado usando uma classe com os métodos __enter__ e __exit__:
# Custom context manager class
class CustomManager:
def __enter__(self):
print("Entering the context")
return self
def __exit__(self, exc_type, exc_value, traceback):
print("Exiting the context")
with CustomManager() as manager:
print("Inside the context")Tratando exceções em gerenciadores de contexto
Tratando exceções em gerenciadores de contexto
Os gerenciadores de contexto personalizados podem tratar exceções usando o método __exit__:
# Handling exceptions in a context manager
class ExceptionManager:
def __enter__(self):
print("Entering the context")
return self
def __exit__(self, exc_type, exc_value, traceback):
if exc_type:
print(f"An exception occurred: {exc_value}")
print("Exiting the context")
return True # Suppresses the exception
with ExceptionManager():
raise ValueError("Something went wrong")Usando Contextlib
Usando Contextlib
O módulo contextlib fornece utilitários para simplificar a criação de gerenciadores de contexto:
# Using contextlib to create a context manager
from contextlib import contextmanager
@contextmanager
def custom_context():
print("Entering the context")
yield
print("Exiting the context")
with custom_context():
print("Inside the context")Boas práticas para gerenciadores de contexto
Boas práticas para gerenciadores de contexto
Aqui estão algumas boas práticas:
- Use gerenciadores de contexto integrados sempre que possível.
- Trate as exceções corretamente em gerenciadores de contexto personalizados.
- Use o módulo
contextlibpara obter uma sintaxe mais simples.
Erros comuns com gerenciadores de contexto
Erros comuns com gerenciadores de contexto
Veja alguns erros que devem ser evitados:
- Não usar
withpara gerenciar recursos. - Não implementar
__exit__corretamente em gerenciadores de contexto personalizados. - Ignorar exceções em
__exit__.
O que aprendemos?
O que aprendemos?
Nesta lição, você aprendeu:
- O que são gerenciadores de contexto e como eles funcionam com a instrução
with. - Como criar gerenciadores de contexto personalizados usando
__enter__e__exit__. - Como usar o módulo
contextlibpara simplificar a criação de gerenciadores de contexto.
Ótimo trabalho! Vamos passar para o próximo tópico.

Perguntas Frequentes
A aula “Gerenciadores de contexto (instruções with)” é grátis?
Sim — o texto completo de “Gerenciadores de contexto (instruções with)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 5 aulas no total.
O que vou aprender em “Gerenciadores de contexto (instruções with)”?
Descubra o poder dos gerenciadores de contexto para administrar recursos Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 5.
Quanto tempo leva a aula “Gerenciadores de contexto (instruções with)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Decoradores
- Geradores
- Gerenciadores de contexto (instruções with)
- Compreensões (de listas, conjuntos e dicionários)
- Iteradores e iteráveis