Sobes.tech
Junior — Middle

¿Qué palabra clave en Python se usa para definir un gestor de contexto?

sobes.tech AI

Respuesta de la IA

En Python, para definir un gestor de contexto se utiliza la palabra clave with al usarlo, y para crear un gestor de contexto propio generalmente se emplean los métodos __enter__ y __exit__ en una clase.

Sin embargo, si se trata de la declaración de una función gestor de contexto, se usa el decorador @contextmanager del módulo contextlib.

Ejemplo de creación de un gestor de contexto con una clase:

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

    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Saliendo del contexto')

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

Ejemplo usando @contextmanager:

from contextlib import contextmanager

@contextmanager
def my_context():
    print('Entrada')
    yield
    print('Salida')

with my_context():
    print('Dentro')

Por lo tanto, las palabras clave para trabajar con gestores de contexto son with (para usarlo) y los métodos __enter__ y __exit__ (para definirlo).