Python for Döngüsü
Python’da for döngüsü ile belirli aralıklarda ve koleksiyonlar üzerinde tekrar eden işlemleri yapmayı öğrenin.
Python'da `for` döngüsü, belirli bir koleksiyondaki (liste, demet, dize, sözlük, küme gibi) her bir öğe üzerinde ardışık olarak işlem yapmak veya belirli bir kod bloğunu belirli sayıda tekrarlamak için kullanılan güçlü bir yapıdır. Diğer programlama dillerindeki "counter-based" (sayaç tabanlı) `for` döngülerinden farklı olarak, Python'daki `for` döngüsü "iterator-based" (yineleyici tabanlı) bir yapıya sahiptir. Yani, bir öğe koleksiyonu üzerinde *yineleyerek* çalışır.
### `for` Döngüsü Ne İşe Yarar?
* **Tekrarlayan Görevleri Otomatikleştirmek:** Aynı işlemi birden fazla kez yapmak yerine, döngü aracılığıyla tek bir kod bloğunu tekrarlayabilirsiniz.
* **Koleksiyonlardaki Öğeleri İşlemek:** Bir listenin her bir elemanını ekrana yazdırmak, bir dizenin her bir karakterini kontrol etmek veya bir sözlüğün her anahtar-değer çiftini incelemek gibi görevlerde kullanılır.
* **Belirli Sayıda Tekrar:** `range()` fonksiyonu ile birlikte kullanılarak belirli bir sayıda döngü çalıştırmak için idealdir.
### `for` Döngüsünün Temel Yapısı (Sözdizimi)
```python
for eleman_degiskeni in yinelenebilir_nesne:
# Bu bloktaki kod, yinelenebilir_nesne'deki her eleman için bir kez çalışır.
# eleman_degiskeni, her döngüde güncel elemanı temsil eder.
```
**Açıklama:**
* `for`: Döngünün başladığını belirten anahtar kelime.
* `eleman_degiskeni`: Her döngü adımında, `yinelenebilir_nesne`'den alınan mevcut elemanı tutan bir değişkendir. Döngü her tekrarlandığında bu değişkenin değeri değişir. Siz bu değişkene istediğiniz ismi verebilirsiniz (örneğin: `item`, `sayi`, `harf`).
* `in`: `eleman_degiskeni`'nin `yinelenebilir_nesne` içinde aranacağını/yineleneceğini belirtir.
* `yinelenebilir_nesne`: Üzerinde döngü yapılacak olan koleksiyon (liste, demet, dize, sözlük, `range()` objesi vb.).
* `:` (iki nokta üst üste): Döngü başlığının bittiğini ve döngü bloğunun başlayacağını gösterir.
* **Girinti (Indentation):** Python'da kod blokları (döngüler, koşullar, fonksiyonlar vb.) girinti (genellikle 4 boşluk) ile tanımlanır. Girintili kodlar döngüye ait demektir. Girinti bittiğinde döngü de biter.
### `for` Döngüsü Nasıl Kullanılır? (Örneklerle)
#### 1. Liste Üzerinde Döngü
Bir listedeki her öğeyi tek tek işlemek için en yaygın kullanım şeklidir.
```python
meyveler = ["elma", "muz", "kiraz", "üzüm"]
print("Meyveler listesi:")
for meyve in meyveler:
print(meyve)
# Çıktı:
# Meyveler listesi:
# elma
# muz
# kiraz
# üzüm
```
#### 2. Dize Üzerinde Döngü
Bir dizenin her karakteri üzerinde döngü yapmak için.
```python
kelime = "Python"
print("\n'Python' kelimesinin harfleri:")
for harf in kelime:
print(harf)
# Çıktı:
# 'Python' kelimesinin harfleri:
# P
# y
# t
# h
# o
# n
```
#### 3. `range()` Fonksiyonu ile Döngü (Belirli Sayıda Tekrar)
`range()` fonksiyonu, belirli bir sayı aralığı oluşturmak için kullanılır ve bu aralık üzerinde döngü yapmak, belirli bir kodu belirli sayıda çalıştırmak için çok kullanışlıdır.
* `range(stop)`: 0'dan `stop-1`'e kadar sayılar üretir.
* `range(start, stop)`: `start`'tan `stop-1`'e kadar sayılar üretir.
* `range(start, stop, step)`: `start`'tan `stop-1`'e kadar `step` (adım) değeriyle sayılar üretir.
```python
# 0'dan 4'e kadar sayılar (5 dahil değil)
print("\n0'dan 4'e kadar sayılar:")
for i in range(5):
print(i)
# Çıktı: 0, 1, 2, 3, 4
# 2'den 7'ye kadar sayılar (8 dahil değil)
print("\n2'den 7'ye kadar sayılar:")
for j in range(2, 8):
print(j)
# Çıktı: 2, 3, 4, 5, 6, 7
# 10'dan 0'a kadar 2'şer azalarak
print("\n10'dan 0'a kadar 2'şer azalarak:")
for k in range(10, -1, -2): # -1 dahil değil, yani 0'a kadar gider
print(k)
# Çıktı: 10, 8, 6, 4, 2, 0
```
#### 4. Sözlük Üzerinde Döngü
Sözlükler üzerinde döngü yapmanın birkaç yolu vardır:
* **Anahtarlar üzerinde döngü (varsayılan):**
```python
ogrenci = {"ad": "Mehmet", "soyad": "Yılmaz", "yas": 20}
print("\nÖğrenci Bilgileri (Anahtarlar):")
for anahtar in ogrenci: # veya for anahtar in ogrenci.keys():
print(anahtar)
# Çıktı: ad, soyad, yas
```
* **Değerler üzerinde döngü:**
```python
print("\nÖğrenci Bilgileri (Değerler):")
for deger in ogrenci.values():
print(deger)
# Çıktı: Mehmet, Yılmaz, 20
```
* **Anahtar-değer çiftleri üzerinde döngü (`.items()` ile):**
```python
print("\nÖğrenci Bilgileri (Anahtar-Değer Çiftleri):")
for anahtar, deger in ogrenci.items():
print(f"{anahtar}: {deger}")
# Çıktı:
# ad: Mehmet
# soyad: Yılmaz
# yas: 20
```
#### 5. `enumerate()` Fonksiyonu ile Döngü (İndeks ve Değer)
Bir listedeki öğeler üzerinde döngü yaparken hem öğenin kendisini hem de indeksini (sırasını) bilmeniz gerektiğinde `enumerate()` çok kullanışlıdır.
```python
renkler = ["kırmızı", "mavi", "yeşil"]
print("\nRenkler ve İndeksleri:")
for indeks, renk in enumerate(renkler):
print(f"{indeks}. renk: {renk}")
# Çıktı:
# Renkler ve İndeksleri:
# 0. renk: kırmızı
# 1. renk: mavi
# 2. renk: yeşil
```
### Döngü Kontrol Deyimleri (`break`, `continue`, `else`)
`for` döngüleri içinde akışı kontrol etmek için bazı özel anahtar kelimeler kullanabiliriz:
* **`break`:** Döngüyü tamamen durdurur ve döngüden hemen sonraki koda geçer.
```python
sayilar = [1, 2, 3, 4, 5, 6, 7, 8, 9]
hedef = 5
print("\nBreak Örneği:")
for sayi in sayilar:
if sayi == hedef:
print(f"{hedef} bulundu, döngü sonlandırılıyor.")
break
print(sayi)
# Çıktı: 1, 2, 3, 4, 5 bulundu, döngü sonlandırılıyor.
```
* **`continue`:** Mevcut döngü adımını atlar ve döngünün bir sonraki adımına geçer.
```python
print("\nContinue Örneği:")
for i in range(10):
if i % 2 == 0: # Eğer sayı çiftse
continue # Bu adımı atla, bir sonraki sayıya geç
print(i) # Tek sayıları yazdır
# Çıktı: 1, 3, 5, 7, 9
```
* **`else` Bloğu:** `for` döngülerinde `else` bloğu, döngü **`break` komutuyla sonlandırılmadan** tamamlandığında çalışır.
```python
print("\nElse Bloğu Örneği (break yok):")
for i in range(3):
print(i)
else:
print("Döngü hatasız tamamlandı.")
# Çıktı:
# 0
# 1
# 2
# Döngü hatasız tamamlandı.
print("\nElse Bloğu Örneği (break var):")
for i in range(5):
if i == 2:
print("Döngüde break komutu çalıştı.")
break
print(i)
else:
print("Döngü hatasız tamamlandı.") # Bu kısım çalışmaz!
# Çıktı:
# 0
# 1
# Döngüde break komutu çalıştı.
```
Python'daki `for` döngüsü, esnekliği ve okunabilirliği sayesinde veri işleme ve otomasyon görevlerinde vazgeçilmez bir araçtır.
Son Paylaşımlar
-
Python Temelleri Genel Tekrar
14:39:24 - 13/12/2025 -
Python Performans İpuçları
14:38:59 - 13/12/2025 -
Python’da Temiz Kod Yazma
14:38:28 - 13/12/2025 -
Python Mini Proje: Sayı Tahmin Oyunu
14:37:58 - 13/12/2025 -
Python Mini Proje: Hesap Makinesi
14:37:31 - 13/12/2025