Poziom: średni
Fiszka #120 · Python
Co to jest "context manager" w Pythonie i jak utworzyć własny?
💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).
Pokaż odpowiedź i przykład kodu
Opis i wyjaśnienie:
"Context manager" zarządza zasobami, np. plikami, połączeniami. Można utworzyć własny definiując klasę z metodami `__enter__` i `__exit__` lub używając dekoratora `contextlib.contextmanager`.
Przykład w Pythonie:
class MyCtx:
def __enter__(self): print("start"); return self
def __exit__(self, *exc): print("stop")
with MyCtx():
print("w środku")