Üreteçler
Üreteçleri ve yineleyiciler oluşturmak için nasıl kullanıldıklarını anlayın.
Üreteçler, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 5 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 5 dersten oluşur.
Üreteçlere Giriş
Üreteçlere Giriş
Üreteçler, Python'da veriler üzerinde gerektiğinde yineleme yapmanızı sağlayan özel bir yineleyici türüdür. Tüm verileri bir kerede döndürmek yerine her seferinde bir öğe üretir ve böylece belleği verimli kullanır.
Bu derste Python'da üreteçleri nasıl oluşturacağınızı ve kullanacağınızı öğreneceksiniz.

Üreteç Nedir?
Üreteç Nedir?
Üreteç, değerleri birer birer döndürmek için yield anahtar sözcüğünü kullanan bir işlevdir. Üretecin next() yöntemine yapılan her çağrı, yürütmeyi en son değer ürettiği yerden sürdürür.
# Basic generator example
def my_generator():
yield 1
yield 2
yield 3
# Using the generator
gen = my_generator()
print(next(gen)) # Outputs: 1
print(next(gen)) # Outputs: 2
print(next(gen)) # Outputs: 3Üreteçler Nasıl Çalışır
Üreteçler Nasıl Çalışır
Üreteçler işlevin durumunu kaydeder; böylece yürütmeyi tam olarak kaldıkları yerden sürdürebilirler. Bu özellik, onları bellek açısından verimli ve büyük veri kümeleri için ideal kılar.
# Example: Generating a range of numbers
def range_generator(start, end):
while start < end:
yield start
start += 1
for number in range_generator(1, 5):
print(number) # Outputs: 1, 2, 3, 4Üreteç İfadeleri
Üreteç İfadeleri
Üreteç ifadeleri liste oluşturma ifadelerine benzer, ancak köşeli parantezler yerine normal parantezler kullanır. Liste yerine üreteç oluştururlar.
# Generator expression
gen_exp = (x * x for x in range(5))
for value in gen_exp:
print(value) # Outputs: 0, 1, 4, 9, 16Üreteçler ve Listeler
Üreteçler ve Listeler
Üreteçler, tüm verileri bellekte saklamadıkları için listelere göre belleği daha verimli kullanır. Bunun yerine verileri gerektiği anda üretirler.
# Comparing lists and generators
# List comprehension
list_comp = [x * x for x in range(1000000)]
# Generator expression
gen_exp = (x * x for x in range(1000000))
# List comprehension uses more memory
print(type(list_comp)) # Outputs: <class 'list'>
print(type(gen_exp)) # Outputs: <class 'generator'>Üreteçlerin Kullanım Alanları
Üreteçlerin Kullanım Alanları
Üreteçler şu durumlar için idealdir:
- Belleğe sığmayan büyük veri kümelerini işleme.
- Sonsuz diziler oluşturma.
- Verilerin tembel değerlendirmesini gerçekleştirme.
Sonsuz Üreteçler
Sonsuz Üreteçler
Üreteçler, bitmeyen sayı dizileri gibi sonsuz diziler üretebilir. Sonsuz yürütmeyi önlemek için döngüyü durdurduğunuzdan emin olun.
# Infinite generator example
def infinite_sequence():
num = 0
while True:
yield num
num += 1
# Using the infinite generator
for i in infinite_sequence():
if i > 5:
break
print(i) # Outputs: 0, 1, 2, 3, 4, 5Birden Çok Değer Üreten Üreteç İşlevleri
Birden Çok Değer Üreten Üreteç İşlevleri
Üreteç işlevlerinde birden çok yield ifadesi bulunabilir; bu sayede karmaşık diziler oluşturabilirsiniz:
# Multiple yields in a generator
def multi_yield():
yield "First"
yield "Second"
yield "Third"
for value in multi_yield():
print(value) # Outputs: First, Second, ThirdÜreteçlerle İlgili Yaygın Hatalar
Üreteçlerle İlgili Yaygın Hatalar
Kaçınmanız gereken bazı hatalar şunlardır:
- Üreteç işlevinde
yieldyerinereturnkullanmak. - Üreteci bir döngü veya
next()ile tüketmemek. - Listelerin daha uygun olduğu küçük veri kümeleri için üreteç kullanmak.
Neler Öğrendik?
Neler Öğrendik?
Bu derste şunları öğrendiniz:
- Üreteçlerin ne olduğunu ve Python'da nasıl çalıştıklarını.
- Üreteç işlevleri oluşturmak için
yieldkullanmayı. - Üreteçlerle listeler arasındaki farkları.
- Sonsuz diziler ve büyük veri kümeleri gibi üreteç kullanım alanlarını.
Harika iş çıkardınız! Şimdi sonraki konuya geçelim.

Sıkça Sorulan Sorular
“Üreteçler” dersi ücretsiz mi?
Evet — “Üreteçler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 5 dersten oluşur.
“Üreteçler” dersinde ne öğreneceğim?
Üreteçleri ve yineleyiciler oluşturmak için nasıl kullanıldıklarını anlayın. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 5 dersinin 2. dersidir.
“Üreteçler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dekoratörler
- Üreteçler
- Bağlam Yöneticileri (with İfadeleri)
- Kapsamlı İfadeler (Liste, Küme ve Sözlük)
- Yineleyiciler ve Yinelemeliler