Возможный дубликат:
Откроется ключевое слово yield Python
Может кто-нибудь объяснить мне, что на самом деле делает инструкция yield в этом бите кода:
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a+b
для числа в fibonacci()
: # Использовать генератор в качестве итератора; номер печати
Насколько я понимаю до сих пор, мы определяем функцию finonacci()
без параметров?
внутри функции мы определяем a
и b
, равные 0 и 1, затем, в то время как это верно, мы получаем a
. Что это на самом деле делает? Кроме того, давая a
? a
теперь равно b
, а b
теперь равно a + b
.
Следующий вопрос, для числа в fibonacci()
, означает ли это для каждого числа в функции или что? Я в равной степени ошеломлен тем, что доходность и "за число" на самом деле делают. Очевидно, что я знаю, что это означает для каждого числа в fibonacci()
номере печати. Я действительно определяю номер, не зная об этом?
Спасибо, извините, если я не понимаю. Кстати, это для проекта Эйлера, если бы я знал, как правильно программировать, это будет легкий ветерок, но я пытаюсь изучить это на лету.