Оператор yield



Он позволяет создавать функции-генераторы. Они могут просчитать и вернуть несколько значений но не за раз.



Записывается он вместо return, принимая число, которое должна вернуть функция. Но если вы вызовете функцию то получите генератор, а не результат работы.



По генератору можно пройтись так же, как и по списку, используя for. Или с помощью функции next().



Почему нельзя вернуть значения в виде списка? Список будет занимать очень много места, если в нём будет более 1000000 элементов, а генератор — нет.



#теория