Python Verimi ve Getiri Karşılaştırması

Python Yield Vs Return



Python, son zamanların yaygın olarak kullanılan genel amaçlı programlama dilidir. Verim, oluşturucu işlevlerini oluşturmak için kullanılan yerleşik bir Python anahtar sözcüğüdür. İşlevi bir dizi sonuç üretir. Programın yürütülmesini duraklatır, sonuç değerini arayana geri gönderir ve yürütmeyi son verimden devam ettirir. Bunun yanı sıra, verim işlevi, üretilen sonuç dizilerini bir üreteç nesnesi biçiminde gönderir. Öte yandan, dönüş ayrıca Python'da işlevi sonlandıran ve değeri arayana geri gönderen yerleşik bir anahtar kelimedir.

Bu makale, getiri ve getiri arasındaki farkları örneklerle özetlemektedir.







Getiri ve Getiri Arasındaki Farklar

Başlangıç ​​olarak, verim ve getiri arasında birçok belirgin fark vardır. Önce bunların ne olduğundan bahsedelim.



Dönüş Teslim olmak
Return ifadesi, arayana yalnızca tek bir değer döndürür. verim ifadesi, arayana bir üreteç nesnesi biçiminde bir dizi sonuç döndürebilir.
Dönüş, işlevden çıkar ve bir döngü olması durumunda, döngüden çıkar. Fonksiyonun içine yerleştirilecek son ifadedir. Fonksiyonun yerel değişkenlerini ortadan kaldırmaz. Yürütmeyi askıya alır ve değeri arayana geri gönderir ve programın yürütülmesine son verim ifadesinden devam eder.
Mantıksal olarak, bir işlevin yalnızca bir dönüş ifadesi olmalıdır. Fonksiyonun içinde birden fazla verim ifadesi olabilir.
Return ifadesi yalnızca bir kez çalıştırılabilir. Getiri ifadesi birden çok kez çalıştırılabilir.
Return ifadesi normal bir Python işlevinin içine yerleştirilir. Getiri ifadesi, normal bir işlevi bir üretici işlevine dönüştürür.

Örnek1: Getiri ve Getiri

Şimdi geri dönüş ve verim deyimleri arasındaki farkı örneklerle görelim. Aşağıda verilen örnek programda birden çok dönüş ifadesi kullandık. İlk return ifadesinden sonra programın yürütülmesinin sona ereceğini ve kodun geri kalanının yürütülmediğini gözlemleyebilirsiniz.



#dönüş ifadesinin çalışmasını gösteren bir program

#sayı değişkeni tanımlama

num1=10

#sayı değişkeni tanımlama

sayı2=yirmi

#aritmetik işlemleri gerçekleştirmek için bir işlev oluşturma

tanımlı matematik():

#toplam değeri hesaplama

dönüşnum1+sayı2

#farkı hesaplama

dönüşnum1-sayı2

#çarpma değerini hesaplama

dönüşnum1*sayı2

#bölme değerini hesaplama

dönüşnum1/sayı2

#fonksiyonu çağırma

Yazdır(matematikOP())

Çıktı





Çıktıda, fonksiyonun sadece ilk değeri döndürdüğü ve programın sonlandırıldığı görülebilir.



Birden çok dönüş deyimiyle benzer bir görevi gerçekleştirmek için, her tür aritmetik işlem için dört farklı işlev oluşturmamız gerekir.

#dönüş ifadesinin çalışmasını gösteren bir program

#sayı değişkeni tanımlama

num1=10

#sayı değişkeni tanımlama

sayı2=yirmi

#aritmetik işlemleri gerçekleştirmek için bir işlev oluşturma

def toplamıOP():

#toplam değeri hesaplama

dönüşnum1+sayı2

def çıkarmaOP():

#farkı hesaplama

dönüşnum1-sayı2

def çarpmaOP():

#çarpma değerini hesaplama

dönüşnum1*sayı2

tanım bölümüOP():

#bölme değerini hesaplama

dönüşnum1/sayı2

#toplam işlevini çağırma

Yazdır('Toplam değer:',toplam OP())

#çıkarma işlevini çağırma

Yazdır('Fark değeri:',çıkar OP())

#çarpma işlevini çağırma

Yazdır('Çarpma değeri:',çarpmaOP())

#bölme işlevini çağırma

Yazdır('Bölme değeri:',bölümOP())

Çıktı

Bu çoklu aritmetik işlemleri, birden çok verim deyimi ile tek bir üreteç işlevi içinde gerçekleştirebiliriz.

#getiri ifadesinin çalışmasını gösteren bir program

#sayı değişkeni tanımlama

num1=10

#sayı değişkeni tanımlama

sayı2=yirmi

#aritmetik işlemleri gerçekleştirmek için bir işlev oluşturma

tanımlı matematik():

#toplam değeri hesaplama

teslim olmaknum1+sayı2

#farkı hesaplama

teslim olmaknum1-sayı2

#çarpma değerini hesaplama

teslim olmaknum1*sayı2

#bölme değerini hesaplama

teslim olmaknum1/sayı2

#fonksiyonu çağırma

Yazdır('Değerleri yazdırma:')

#jeneratör nesnesinden değerlere erişmek için döngü için kullanma

içinmatematik OP'sindeyim():

Yazdır(ben)

Çıktı

Örnek2: Getiri ve Getiri

Geri dönüş ve getiri ifadelerine başka bir örnek görelim. Verilen örnekte, mod() işlevine argüman olarak iletilen bir sayı listemiz var. Her bir liste numarası üzerinde modül işlemi yapıyoruz ve kalan değer olarak 10'a bölündüğünde bu sayıların sıfıra dönüştüğüne bakıyoruz.

Öncelikle bu örneği Python betiğimizde return deyimi ile uygulayalım.

#bir sayı listesi tanımlama

listem=[10,yirmi,25,30,35,40,elli]

#modül işlemini gerçekleştirmek için bir fonksiyon tanımlama

tanım modu(listem):

içinlistemde:

#modülüs işlemi gerçekleştirme

Eğer(ben%10==0):

dönüşben

Yazdır(karşısında(listem))

Çıktı

Return ifadesi, arayana yalnızca ilk numarayı döndürür ve işlevin yürütülmesini sonlandırır.

Şimdi aynı örneği Python betiğimizde verim deyimi ile uygulayalım.

#bir sayı listesi tanımlama

listem=[10,yirmi,25,30,35,40,elli]

#modül işlemini gerçekleştirmek için bir fonksiyon tanımlama

tanım modu(listem):

içinlistemde:

#modülüs işlemi gerçekleştirme

Eğer(ben%10==0):

#verim beyanı

teslim olmakben

içinmoddayım(listem):

Yazdır(ben)

Çıktı

Çözüm

Sonuç olarak, getiri ve getiri iki yerleşik Python anahtar sözcüğü veya ifadesidir. Return ifadesi, bir fonksiyondan arayana değer döndürmek için kullanılır ve programın yürütülmesini sonlandırır, verim ifadesi ise bir üreteç nesnesi üretir ve programın yürütülmesini sonlandırmadan birden çok değeri çağırana döndürebilir. Bu makale, getiri ve getiri ifadeleri arasındaki tüm belirgin farklılıkları örneklerle listeler.