AMP Analytics -->

Teknoloji Rehberi

22 Nisan 2025 Salı

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.



Hiç yorum yok:

Yorum Gönder

Popular Posts