Sobes.tech
Junior — Middle

Jaké klíčové slovo v Pythonu se používá k definování správce kontextu?

sobes.tech AI

Odpověď od AI

V Pythonu se pro definici kontextového správce používá klíčové slovo with při jeho použití, a pro vytvoření vlastního kontextového správce se obvykle používají metody __enter__ a __exit__ ve třídě.

Nicméně, pokud jde o deklaraci funkce jako kontextového správce, používá se dekorátor @contextmanager z modulu contextlib.

Příklad vytvoření kontextového správce pomocí třídy:

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('Uvnitř kontextu')

Příklad s použitím @contextmanager:

from contextlib import contextmanager

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

with my_context():
    print('Uvnitř')

Tedy klíčová slova pro práci s kontextovými správci jsou with (pro použití) a metody __enter__ a __exit__ (pro definování).