
Оператор yield
Он позволяет создавать функции-генераторы. Они могут просчитать и вернуть несколько значений но не за раз.
Записывается он вместо return, принимая число, которое должна вернуть функция. Но если вы вызовете функцию то получите генератор, а не результат работы.
По генератору можно пройтись так же, как и по списку, используя for. Или с помощью функции
Почему нельзя вернуть значения в виде списка? Список будет занимать очень много места, если в нём будет более 1000000 элементов, а генератор — нет.
#теория
Он позволяет создавать функции-генераторы. Они могут просчитать и вернуть несколько значений но не за раз.
Записывается он вместо return, принимая число, которое должна вернуть функция. Но если вы вызовете функцию то получите генератор, а не результат работы.
По генератору можно пройтись так же, как и по списку, используя for. Или с помощью функции
next()
.Почему нельзя вернуть значения в виде списка? Список будет занимать очень много места, если в нём будет более 1000000 элементов, а генератор — нет.
#теория