Pythonda Iteration (Yineleme)

Python'da Iteration (Yineleme) Ayrıntılı Açıklama

Iteration (yineleme), Python'da koleksiyonlar (listeler, demetler, sözlükler vb.) üzerinde döngü yapma işlemidir. Python'da iteration, __iter__() ve __next__() metodlarıyla çalışan bir protokole dayanır.

Temel Iteration Kavramları

1. Iterable (Yinelenebilir Nesne)

  • Üzerinde iteration yapılabilen nesnelerdir (liste, tuple, string, dict vb.)

  • __iter__() metodunu implemente ederler

  • Örnek: my_list = [1, 2, 3] bir iterable'dır

2. Iterator

  • Iteration durumunu takip eden nesnelerdir

  • __next__() metodunu implemente ederler

  • Her __next__() çağrısında bir sonraki öğeyi döndürür

  • Öğeler tükendiğinde StopIteration hatası fırlatır

Örneklerle Iteration

Basit Iteration Örneği

python
Copy
Download
my_list = [1, 2, 3]
for item in my_list:
    print(item)
# Çıktı:
# 1
# 2
# 3

Iterator Oluşturma

python
Copy
Download
my_list = [1, 2, 3]
my_iter = iter(my_list)  # my_list.__iter__()

print(next(my_iter))  # 1
print(next(my_iter))  # 2
print(next(my_iter))  # 3
print(next(my_iter))  # StopIteration hatası

Kendi Iterable Sınıfımızı Oluşturma

python
Copy
Download
class MyRange:
    def __init__(self, start, end):
        self.start = start
        self.end = end
    
    def __iter__(self):
        return self
    
    def __next__(self):
        if self.start >= self.end:
            raise StopIteration
        current = self.start
        self.start += 1
        return current

for num in MyRange(1, 5):
    print(num)
# Çıktı:
# 1
# 2
# 3
# 4

Python'daki Yaygın Iteration Araçları

1. enumerate()

python
Copy
Download
for index, value in enumerate(['a', 'b', 'c']):
    print(index, value)
# Çıktı:
# 0 a
# 1 b
# 2 c

2. zip()

python
Copy
Download
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
    print(f"{name} is {age} years old")

3. reversed()

python
Copy
Download
for i in reversed(range(1, 5)):
    print(i)
# Çıktı:
# 4
# 3
# 2
# 1

Generator'lar ve Iteration

Generator'lar, iterator oluşturmanın kolay bir yoludur:

python
Copy
Download
def my_generator(n):
    for i in range(n):
        yield i * 2

for x in my_generator(5):
    print(x)
# Çıktı:
# 0
# 2
# 4
# 6
# 8

Dictionary'lerde Iteration

python
Copy
Download
my_dict = {'a': 1, 'b': 2, 'c': 3}

# Key'ler üzerinde iteration
for key in my_dict:
    print(key)

# Value'lar üzerinde iteration
for value in my_dict.values():
    print(value)

# Key-value çiftleri üzerinde iteration
for key, value in my_dict.items():
    print(key, value)

Iteration, Python'da veri işlemenin temel taşlarından biridir ve veri yapıları üzerinde etkili bir şekilde çalışmayı sağlar.



Yorumlar

Tarih Bilgini Test Etmeye Hazır mısın?

Avrupa'dan Afrika'ya, Asya'dan Amerika ve İslam tarihine uzanan 40 soruluk dev genel kültür testimiz yayında!

🏆 Yarışmayı Tam Sayfa Aç
PDF Okuyucu İkonu

Hızlı PDF Okuyucu

Hızlı, hafif ve kullanıcı dostu PDF görüntüleme deneyimi.

Google Play'den İndir
Dersimiz Tarih

Dersimiz Tarih Uygulaması

Tarih Derslerinden Tarih Alanında Hemen Herşeye Kadar Dijital Tarih Bilgi Merkezi.

Google Play'den İndir

Bu blogdaki popüler yayınlar

YouTube ile Web Sitesi SEO'su: Kapsamlı Strateji Rehberi

Uygulama Reklam Butonu