Python generatorlar

Udemy kursu satın almıştım. Generator konusunda fibonacci sayı dizisi yaratmak istediğimiz bir class oluşturduk. Şöyle bir kod yazdı Sevgili Mustafa Murat Coşkun:

def fibonacci():
    a=1
    b=1
    yield a
    yield b
    while True:
        a,b=b,a+b
        yield b

Anlamadığım nokta şurası:

        a,b=b,a+b
        yield b

Zaten while döngüsü kullanılmadan önce yield b kullanmıştık. Neden bu sefer yine yield b kullandık. Veya neden yield a da yazmadık tekrardan? Mantığını anlatabilir misiniz?

Fibonacci sekansiyla / algoritmayla alakali bir durum. yield yerine print koyarsaniz anlasilacaktir.

1 Beğeni