Sobes.tech
Junior — Middle

Qual palavra-chave em Python é usada para definir um gestor de contexto?

sobes.tech IA

Resposta da IA

Em Python, para definir um gestor de contexto, usa-se a palavra-chave with ao utilizá-lo, e para criar um gestor de contexto próprio geralmente aplicam-se os métodos __enter__ e __exit__ numa classe.

No entanto, se se trata de uma declaração de uma função gestor de contexto, usa-se o decorador @contextmanager do módulo contextlib.

Exemplo de criação de um gestor de contexto com uma classe:

class MyContextManager:
    def __enter__(self):
        print('Entrando no contexto')
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Saindo do contexto')

with MyContextManager():
    print('Dentro do contexto')

Exemplo usando @contextmanager:

from contextlib import contextmanager

@contextmanager
def my_context():
    print('Entrada')
    yield
    print('Saída')

with my_context():
    print('Dentro')

Assim, as palavras-chave para trabalhar com gestores de contexto são with (para usar) e os métodos __enter__ e __exit__ (para definir).