Python, son zamanların yaygın olarak kullanılan genel amaçlı programlama dilidir. Getiri, üreteç 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ç dizisini bir jeneratör 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, getiri ve getiri arasında birçok belirgin fark vardır. Önce bunların ne olduğunu tartışalım.
Dönüş | Yol ver |
---|---|
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üyü kapatır. 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üş ifadesine sahip olması gerekir. | İşlev içinde birden fazla verim ifadesi olabilir. |
Return ifadesi yalnızca bir kez çalıştırılabilir. | Getiri ifadesi birden çok kez çalışabilir. |
Return ifadesi normal bir Python işlevinin içine yerleştirilir. | verim ifadesi, normal bir işlevi bir üretici işlevine dönüştürür. |
Örnek1: Dönüş vs. Yol ver
Şimdi geri dönüş ve verim ifadeleri arasındaki farkı örneklerle görelim. Aşağıda verilen örnek programda birden fazla iade 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
sayı1 =10
#sayı değişkeni tanımlama
sayı2=20
#aritmetik işlemleri gerçekleştirmek için bir işlev oluşturma
tanım matematikOP():
#toplam değeri hesaplama
num1+num2'yi döndür
#farkı hesaplama
num1-num2'yi döndür
#çarpma değerini hesaplama
sayı1*sayı2 döndür
#bölme değerini hesaplama
sayı1/sayı2 döndür
#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üş ifadesiyle 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
sayı1 =10
#sayı değişkeni tanımlama
sayı2=20
#aritmetik işlemleri gerçekleştirmek için bir işlev oluşturma
def sumOP():
#toplam değeri hesaplama
num1+num2'yi döndür
def çıkarmaOP():
#farkı hesaplama
num1-num2'yi döndür
def çarpmaOP():
#çarpma değerini hesaplama
sayı1*sayı2 döndür
def bölümüOP():
#bölme değerini hesaplama
sayı1/sayı2 döndür
#toplam işlevini çağırma
print("Toplam değer: ",sumOP())
#çıkarma işlevini çağırma
print("Fark değeri: ",subtractOP())
#çarpma işlevini çağırma
print("Çarpma değeri: ",multiplicationOP())
#bölme işlevini çağırma
print("Bölme değeri: ",divisionOP())
Çıktı
Bu çoklu aritmetik işlemleri, birden çok verim ifadesi 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
sayı1 =10
#sayı değişkeni tanımlama
sayı2=20
#aritmetik işlemleri gerçekleştirmek için bir işlev oluşturma
tanım matematikOP():
#toplam değeri hesaplama
verim num1+num2
#farkı hesaplama
verim num1-num2
#çarpma değerini hesaplama
verim num1*sayı2
#bölme değerini hesaplama
verim num1/sayı2
#fonksiyonu çağırma
print("Değerler yazdırılıyor:")
#jeneratör nesnesinden değerlere erişmek için döngü için kullanma
mathOP() içindeki i için:
yazdır(i)
Çıktı
Örnek2: Dönüş vs. Yol ver
Döndürme 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 dönüş sıfıra bölündüğünde bu sayıların ne olduğunu kontrol ediyoruz.
Öncelikle bu örneği Python betiğimizde return deyimi ile uygulayalım.
#bir sayı listesi tanımlamamyList=[10,20,25,30,35,40,50]
#modülüs işlemini gerçekleştirmek için bir fonksiyon tanımlama
def mod(myList):
myList'teki i için:
#modülüs işlemi gerçekleştirme
if(i%10==0):
geri dön
yazdır(mod(myList))
Çı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 ifadesi ile uygulayalım.
#bir sayı listesi tanımlamamyList=[10,20,25,30,35,40,50]
#modül işlemini gerçekleştirmek için bir fonksiyon tanımlama
def mod(myList):
myList'teki i için:
#modülüs işlemi gerçekleştirme
if(i%10==0):
#verim beyanı
verim i
modda i için(myList):
yazdır(i)
Çıktı
Sonuç
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ırken, verim ifadesi bir jeneratör 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 farkları örneklerle listeler.