Gerenciador de Contexto
Explicação
Um context manager no Python é um objeto que define métodos especiais __enter__()
e __exit__()
que permitem gerenciar recursos de maneira eficiente durante a execução de um bloco de código. Esses recursos podem ser qualquer coisa que precise ser aberto e fechado, como arquivos, conexões de rede, locks ou qualquer outro recurso que requer uma abertura e fechamento explícito.
Os context managers são usados com a instrução with
, que garante que o método __exit__()
seja chamado quando o bloco de código dentro do with
é concluído, mesmo que isso aconteça devido a uma exceção. Isso ajuda a garantir que os recursos sejam liberados corretamente e evita vazamentos de recursos, como arquivos não fechados ou conexões de rede abertas indefinidamente.
Paradigma Funcional
-
Importar a função
contextmanager
da biblioteca embarcadacontextlib
: -
Criar a função passando o decorador
@contextmanager
: -
Escrever o resto da função passando a funcionalidade
yield
no lugar doreturn
garantindo que ela não se encerre, mas sim, devolva o cursor para uso externo e ao concluir os processamentos, retorne à funçãobanco
para fechar a conectividade. -
E para chamar a função utilizando a abertura e fechamento da conexão em Banco de Dados, basta utilizar a instrução
with
:
Paradigma de Orientação à Objetos
-
Importar as bibliotecas desejadas no projeto:
-
Criar a classe instanciando a funcionalidade de inicialização:
-
Escrever a função
__enter__
que fará a abertura do cursor e devolverá o mesmo para uso externo: -
Implementar a função
__exit__
para que seja chamada assim que todo o uso do cursor acima tenha sido concluído: -
E para chamar a função utilizando a abertura e fechamento da conexão em Banco de Dados, basta utilizar a instrução
with
: