0Pricing
Python For Kids · Ders

Üreteçler

Üreteçleri ve yineleyiciler oluşturmadaki kullanımlarını anlama

Üreteçler, CoddyKit'te ücretsiz bir Python For Kids 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 For Kids öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python For Kids kursu toplamda 5 dersten oluşur.

Üreteçlere Giriş

Üreteçler, Python'da veriler üzerinde tembel bir şekilde yineleme yapmanıza olanak tanıyan ö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ırlar.

Bu derste Python'da üreteçleri nasıl oluşturacağınızı ve kullanacağınızı öğreneceksiniz.

Üreteçler — resim 1

Ü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 son değer üretilen noktadan 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, işlevin durumunu kaydeder; böylece yürütmeye tam olarak kaldıkları yerden devam edebilirler. Bu özellik onları bellek açısından verimli ve büyük veri kümeleri için ideal hâle getirir.

# 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ç ifadeleri, liste üreteçlerine 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, 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çler şu durumlar için idealdir:

  • Belleğe sığmayan büyük veri kümelerini işlemek.
  • Sonsuz diziler üretmek.
  • Verileri tembel olarak değerlendirmek.

Sonsuz Üreteçler

Üreteçler, sonsuz bir sayı dizisi 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, 5

Birden Çok yield İçeren Üreteç İşlevleri

Üreteç işlevleri birden çok yield ifadesi içerebilir; 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çlerde Yaygın Hatalar

Kaçınmanız gereken bazı hatalar şunlardır:

  • Bir üreteç işlevinde yield yerine return kullanmak.
  • Üreteci bir döngüyle veya next() ile tüketmemek.
  • Listelerin daha uygun olduğu küçük veri kümeleri için üreteçleri kullanmak.

Ne Öğ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 yield kullanımını.
  • Ü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! Bir sonraki konuya geçelim.

Üreteçler — resim 11

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 For Kids kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python For Kids kursu toplamda 5 dersten oluşur.

“Üreteçler” dersinde ne öğreneceğim?

Üreteçleri ve yineleyiciler oluşturmadaki kullanımlarını anlama Python For Kids 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 For Kids öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python For Kids, 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 For Kids dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python For Kids 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

  1. Dekoratörler
  2. Üreteçler
  3. Bağlam Yöneticileri (with Deyimleri)
  4. Kapsamlı İfadeler (Liste, Küme ve Sözlük)
  5. Yineleyiciler ve Yinelenebilirler
← Python For Kids Sayfasına Dön