Verim ifadesi Python'daki jeneratörleri tanımlamak için kullanılır. Bu yüzden verimin tam olarak ne işe yarayacağından önce jeneratörler kavramını anlamalıyız. Jeneratörler Python'da önemli bir role sahiptir ve Python programlamasının derinliklerinde iseniz, zaten Python jeneratörleriyle çalışmış olabilirsiniz. Jeneratörler Python'da yineleyiciler oluşturmak için kullanılır, ancak farklı bir yaklaşımla.
Python Jeneratörleri, bir dizi sonuç üreten ve dinamik olarak duraklatılabilen ve devam ettirilebilen işlevlerdir. Jeneratörler ilk olarak Python 2.2'de isteğe bağlı bir özellik olarak eklenmiş ve Python 2.3'te standart hale getirilmiştir. Yeterince güçlü olmalarına rağmen, Python 2.5'te jeneratör işlevleri önemli ölçüde geliştirildi..
Jeneratörler Python 2.2'ye geri eklendiğinde, geriye dönük uyumluluk için yeni bir “verim” anahtar kelimesi getirmiştir; bunun için jeneratörleri kullanmak için _future_ modülünden içe aktarmamız gerekiyordu. Bu, jeneratörler standart hale geldiğinde Python sürüm 2.3'te değiştirildi ve artık gerekli değildi.
Verim ifadesi bir işlevin yürütülmesini askıya alır ve arayana bir değer gönderirken durumu kaydetme ve daha sonra devam ettirme anlamına gelir, yani geri dönüş değeri elde edildikten sonra tüm jeneratörün kendisi yine de devam ettirilebilir. Bir return ifadesi işlevin yürütülmesini sonlandırır ve arayana bir değer gönderir. Onsuz, işleviniz hiçbir şey döndürmez. İkisi arasındaki farkı daha iyi anlamak için verimi ne zaman ve ne zaman Python'da getiri kullanacağımıza bakalım..
Verim ifadesi, yerel değişkenleri yok etmeden arayana bir değer göndermek için bir işlevin geri dönüşünü değiştirmek için Python jeneratörlerinde kullanılır. Python programlamada verim ifadesinin nasıl bir rol oynadığını daha iyi anlamak için, jeneratörlerin ne olduğunu anlamalısınız.
Jeneratör fonksiyonları, normal işlevler gibi tanım gereği üretilir ancak bir "verim" ifadesi içerir. Bu, arayan kişiye döndürülecek jeneratör nesnesini belirten “verim” anahtar kelimesiyle başlar. Bir jeneratör, Python'da bir jeneratör nesnesini veri değeri yerine arayana döndüren özel bir işlevdir. Ürün anahtar kelimesi, işlevin yürütülmesini durdurma, kaydetme durumu ve daha sonra devam etme gibi benzersiz bir özelliğe sahiptir.
Return ifadesi, verim ifadesinden farklı olarak bir işlevden çıkar ve arayana bir değer verir. Fonksiyonlar, arayanlara bir değer döndürür ve doğası gereği daha usule uygun olanları açıkça hiçbir şey döndürmez. Bir işlevin birden fazla döndürme ifadesi olabilse de, işlevin herhangi bir çağrılması için bunlardan yalnızca biri çağrılabilir.
Genellikle, bir işlev bloğunun en sonunda, o işlevde yer alan tüm ifadeleri yürütmenin nihai sonucunu döndürmek için bir dönüş ifadesi görünür. Bununla birlikte, o blokta sonraki tüm deyimlerin yürütülmesini durdurmak fonksiyon bloğunda daha erken görünebilir. Bu, arayan kişinin programın yürütülmesini derhal sürdürür. Hiçbir değer belirtilmediğinde, Python'daki eşdeğer dönüş nesnesi türü “Yok” olur.
Sözdizimsel olarak, getiri, return kelimesi gibi kullanılabilen bir anahtar kelimedir, ancak return ifadesi işlevinizin yürütülmesini sonlandırır ve arayana bir değer gönderir. Return ifadesinin işlevselliği girdileri almak ve arayana bir şey döndürmektir. Bir dönüşün aksine, getiri ifadesi üreteçleri tanımlamak için açıkça kullanılır, yerel değişkenleri koruyarak yürütmeyi askıya almak için bir işlevin dönüş değerini değiştirirken, return ifadesi içindeki tüm yerel değişkenleri yok eder.