Junior — Middle
Welches Schlüsselwort in Python wird verwendet, um einen Kontextmanager zu definieren?
sobes.tech KI
Antwort von AI
In Python, um Kontextmanager wird mit dem Schlüsselwort with bei dessen Verwendung definiert, und um einen eigenen Kontextmanager zu erstellen, werden in der Regel die Methoden __enter__ und __exit__ in einer Klasse verwendet.
Wenn es jedoch um die Deklaration einer Funktion als Kontextmanager geht, wird der Dekorator @contextmanager aus dem Modul contextlib verwendet.
Beispiel für die Erstellung eines Kontextmanagers mit einer Klasse:
class MyContextManager:
def __enter__(self):
print('Eintreten in den Kontext')
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print('Verlassen des Kontexts')
with MyContextManager():
print('Innerhalb des Kontexts')
Beispiel mit @contextmanager:
from contextlib import contextmanager
@contextmanager
def my_context():
print('Eingang')
yield
print('Ausgang')
with my_context():
print('Innen')
Daher sind die Schlüsselwörter für die Arbeit mit Kontextmanagern with (zur Verwendung) und die Methoden __enter__ und __exit__ (zur Definition).