Ключевое слово yield в Python используется для преобразования функции в генератор. 14
Когда функция содержит yield, она возвращает итератор, который можно использовать для перебора последовательности значений. 1 В отличие от обычной функции, которая выполняется до завершения и возвращает одно значение, функция-генератор может выдавать несколько значений по одному за раз, приостанавливаясь и возобновляя своё состояние между каждым выводом. 1
При повторном вызове такой функции выполнение продолжается с оператора yield, на котором её работа была прервана. 2 Это позволяет создавать функции, которые могут возвращать несколько значений по мере необходимости, без необходимости загружать все значения в память сразу. 4
Использование yield целесообразно в тех случаях, когда нужно выполнить итерацию по последовательности значений, но при этом хранить всю последовательность в памяти нежелательно. 3