Sobes.tech
Junior — Middle

Quel mot-clé en Python est utilisé pour définir un gestionnaire de contexte?

sobes.tech IA

Réponse de l'IA

En Python, pour définir un gestionnaire de contexte, on utilise le mot-clé with lors de son utilisation, et pour créer son propre gestionnaire de contexte, on emploie généralement les méthodes __enter__ et __exit__ dans une classe.

Cependant, si l'on parle de la déclaration d'une fonction gestionnaire de contexte, on utilise le décorateur @contextmanager du module contextlib.

Exemple de création d'un gestionnaire de contexte avec une classe :

class MyContextManager:
    def __enter__(self):
        print('Entrée dans le contexte')
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Sortie du contexte')

with MyContextManager():
    print('À l'intérieur du contexte')

Exemple avec @contextmanager :

from contextlib import contextmanager

@contextmanager
def my_context():
    print('Entrée')
    yield
    print('Sortie')

with my_context():
    print('À l'intérieur')

Ainsi, les mots-clés pour travailler avec un gestionnaire de contexte sont with (pour l'utiliser) et les méthodes __enter__ et __exit__ (pour le définir).