Python’da return yerine yield


Bir fonksiyon içinde döngü yaptırıp döngü sonucunu listeye atayıp fonksiyondan return ettirdiğimiz durumlar olur. Burada fonksiyon içinde liste tanımlayıp içine tekrar elemanları eklemek icap eder. Bunun yerine daha hızlı bir yol vardır:

def fon():
    sayilar =range(10)
    for sayi in sayilar:
        yield sayi*sayi

for sayi in fon():
    print sayi

 
Dikkat ettiyseniz fonksiyon içinde liste filan yok. yield yardımı ile döngü sonucunu sanki listeye ekletip return ettirmiş oluyoruz.

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s