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
Kategoriler