Junior — Middle
75
Είναι απαραίτητο να χρησιμοποιήσετε τη λέξη-κλειδί yield στην υλοποίηση του διαχειριστή συμφραζομένων σε Python;
Εταιρείες όπου ρωτήθηκαν
Απάντηση από AI
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 не используется.