Junior — Middle
84
Python-да функция түрінде жеке контекст менеджерін қалай жүзеге асыруға болады?
AI-дан жауап
sobes.tech AI
Python-да өзіңіздің жеке контекст менеджеріңізді @contextlib.contextmanager декораторы арқылы функция түрінде жасауға болады. Бұл with конструкциясын ресурстарды басқару үшін қолдануға мүмкіндік береді.
Мысал ретінде, кірісу және шығу кезінде хабарламалар шығаратын қарапайым менеджер:
from contextlib import contextmanager
@contextmanager
def my_manager():
print("Контекстке кірді")
try:
yield # with ішіндегі код орындалады
finally:
print("Контексттен шықты")
Қолдану:
with my_manager():
print("with блогында")
Шығу нәтижесі:
Контекстке кірді
with блогында
Контексттен шықты
Осылайша, yield кодты екі бөлікке бөледі: yield-ке дейін — инициализация, одан кейін — тазалау коды. Бұл класс жазбай-ақ контекст менеджерлерін жасауға ыңғайлы әдіс.