Sobes.tech
Junior — Middle

Koja ključna reč u Pythonu se koristi za definisanje menadžera konteksta?

sobes.tech АИ

Одговор од АИ

U Pythonu, za definisanje menadžera konteksta koristi se ključna reč with tokom njegovog korišćenja, a za kreiranje sopstvenog menadžera konteksta obično se primenjuju metode __enter__ i __exit__ u klasi.

Međutim, ako je u pitanju deklaracija funkcije menadžera konteksta, koristi se dekorator @contextmanager iz modula contextlib.

Primer kreiranja menadžera konteksta pomoću klase:

class MyContextManager:
    def __enter__(self):
        print('Ulazak u kontekst')
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Izlazak iz konteksta')

with MyContextManager():
    print('Unutar konteksta')

Primer sa @contextmanager:

from contextlib import contextmanager

@contextmanager
def my_context():
    print('Ulaz')
    yield
    print('Izlaz')

with my_context():
    print('Unutra')

Dakle, ključne reči za rad sa menadžerima konteksta su with (za korišćenje) i metode __enter__ i __exit__ (za definisanje).