Junior — Middle
79
Kas on vajalik, et kasutada võtmesõna yield Pythonis kontekstihalduri rakendamisel?
Ettevõtted, kust küsiti
Vastus AI-lt
sobes.tech AI
Ключевое слово yield необходимо использовать внутри реализации контекстного менеджера, если вы создаёте его с помощью декоратора @contextmanager из модуля contextlib.
Пример:
from contextlib import contextmanager
@contextmanager
def open_file(path):
f = open(path, 'r')
try:
yield f # передаём управление и ресурс
finally:
f.close()
Здесь yield разделяет код на две части: до yield — подготовка ресурса, после — очистка.
Если же контекстный менеджер реализован через класс с методами __enter__ и __exit__, то yield не используется.