Sobes.tech
Junior — Middle

Aké kľúčové slovo v Pythone sa používa na definovanie správcu kontextu?

sobes.tech AI

Odpoveď od AI

V Pythone sa na definovanie kontextového manažéra používa sa kľúčové slovo with pri jeho používaní, a na vytvorenie vlastného kontextového manažéra sa zvyčajne používajú metódy __enter__ a __exit__ v triede.

Ak však ide o deklaráciu funkcie ako kontextového manažéra, používa sa dekorátor @contextmanager z modulu contextlib.

Príklad vytvorenia kontextového manažéra pomocou triedy:

class MyContextManager:
    def __enter__(self):
        print('Vstup do kontextu')
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Výstup z kontextu')

with MyContextManager():
    print('Vo vnútri kontextu')

Príklad s použitím @contextmanager:

from contextlib import contextmanager

@contextmanager
def my_context():
    print('Vstup')
    yield
    print('Výstup')

with my_context():
    print('Vo vnútri')

Preto sú kľúčové slová na prácu s kontextovými manažérmi with (na použitie) a metódy __enter__ a __exit__ (na definovanie).