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).