piton verimi

Python Yield



Verim, bir işlevden değer(ler) döndüren yerleşik bir Python anahtar sözcüğüdür. İşlevin yürütülmesi sonlandırılmaz. Bunun yerine, değeri arayana döndürür ve işlevin yürütme durumunu korur. İşlevin yürütülmesine son verim ifadesinden devam edilir. Verim, tek bir değer yerine bir dizi değer üretmemizi sağlar. Bir fonksiyon gövdesi içinde kullanılır. Bir getiri ifadesi içeren işlev, oluşturucu işlevi olarak bilinir.







Anahtar kelime elde etmenin birkaç avantajı vardır. Örneğin, bellek tahsisini kontrol eder ve yerel değişken durumunu kaydeder. Ancak, kodun karmaşıklığını artırır.



Bu makale, verim anahtar kelimesinin kullanımını örneklerle açıklamaktadır.



Verim Sözdizimi

Getiri sözdizimi basit ve anlaşılırdır. Getiri, verim anahtar sözcüğü ve sözdizimi ile aşağıdaki gibi başlatılır:





teslim olmakdeğer

Örnekler

Şimdi verim ifadelerinin kullanımını ve çalışmalarını anlamak için örnekler görelim. Geleneksel olarak, return anahtar sözcüğü programın yürütülmesini sonlandırır ve sonunda bir değer döndürürken, verim değerlerin sırasını döndürür. Değeri bellekte saklamaz ve çalışma zamanında arayan kişiye değeri döndürür. Aşağıdaki örnekte artık yılı belirlemek için bir üreteç fonksiyonu tanımlanmıştır. Sıçrama, dörde bölünebildiğinde kalan olarak sıfır döndürdüğü yıldır. getiri anahtar sözcüğü, arayana artık yılın değerini döndürür. Artık yılın değerini alacağından, programın yürütülmesini duraklatacak, değeri döndürecek ve ardından yürütmeyi durdurulduğu yerden devam ettirecektir.

#artık yılı belirlemek için bir jeneratör ilan etmek
tanımsıçrama işlevi(listem):
içinbeniçindelistem:
Eğer(ben%4==0):
#verimi kullanma
teslim olmakben
#yıl listesini ilan etme
yıl_listesi=[2010,2011,2012,2016,2020,2024]
Yazdır('Artık yıl değerlerini yazdırma')
içinxiçindesıçrama işlevi(yıl_listesi):
Yazdır(x)

Çıktı



Çıktı artık yıllar serisini gösterir.

Jeneratör fonksiyonunun çeşitli sayılar ve diziler verdiği başka bir örnek görelim.

#bir üreteç işlevi bildirme
tanımişlevim():
teslim olmak 'İşaret'
teslim olmak 'John'
teslim olmak 'Taylor'
teslim olmak 'İvan'
teslim olmak 10
teslim olmak yirmi
teslim olmak 30
teslim olmak 40
teslim olmak elli
#jeneratör işlevi aracılığıyla arama ve yineleme
içinbeniçindeişlevim():
#baskı değerleri
Yazdır(ben)

Çıktı

Sayı dizisinin küp değerini hesaplamak ve yazdırmak için bir üreteç işlevi uygulayalım. 1'den 30'a kadar küp değerleri üretiyoruz.

#küp değerini hesaplamak için bir üreteç işlevi bildirme
tanımhesap etmek():
saat=1
#sonsuz while döngüsü
süre NS:
#hesaplama küpü
teslim olmakval * val * val
#değeri 1 artırma
saat=val +1
Yazdır('Küp değerleri şunlardır:')
#jeneratör işlevini çağırma
içinbeniçindehesap etmek():
Eğerben>30:
kırmak
Yazdır(ben)

Çıktı

Çıktı, küp değerini 30'dan küçük gösteriyor.

Çözüm

Verim, programın yürütülmesini sonlandırmayan ve bir dizi değer oluşturmayan bir Python yerleşik anahtar sözcüğüdür. return anahtar sözcüğüyle karşılaştırıldığında, getiri anahtar sözcüğü birden çok değer üretir ve arayana geri döner. Bu makale Python Verimini örneklerle açıklamaktadır.