Что делает yield
yield
замораживает состояние функции-генератора и возвращает текущее значение. После следующего вызова __next__()
функция-генератор продолжает своё выполнение с того места, где она была приостановлена.
Oct. 11, 2023, Источник
yield это как return, только когда мы доходим до yield у нас останавливается выполнение функции на данном месте, пока мы снова не вызовем метод next
def test():
for i in range(4):
yield i
a = test()
next(a) # 0
next(a) # 1
Oct. 11, 2023, Источник