Python'ın döngüleri, index sayaçlarını işlemek yerine iterables (koleksiyonlar) üzerinde doğrudan yineleme yapmak için tasarlanmıştır — bunları temiz ve okunabilir hale getirir. İki döngü türü for ve while'dır.
for döngüsü — öğeleri doğrudan yineleyin
# ✅ Pythonic — iterate the items, not indices
for fruit in ["apple", "banana", "cherry"]:
print(fruit)
# ❌ un-Pythonic — C-style index juggling (avoid)
fruits = ["apple", "banana"]
for i in range(len(fruits)):
print(fruits[i])
Python'ın for döngüsü öğelerin kendileri üzerinde yineleme yapar — manuel indexleme gerekmez. Bu, index tabanlı döngülerden daha temiz ve daha az hataya eğilimlidir.
Temel yineleme yardımcıları
# range — generate numbers
for i in range(5): # 0,1,2,3,4
for i in range(2, 10, 2): # 2,4,6,8 (start, stop, step)
# enumerate — when you DO need the index AND the item
for i, fruit in enumerate(fruits):
print(f"{i}: {fruit}")
# zip — iterate multiple sequences in parallel
for name, age in zip(names, ages):
print(f"{name} is {age}")
# dict iteration
for key, value in user.items():
print(key, value)
enumerate (index + öğe) ve zip (paralel yineleme), hantallık index manipülasyonunun yerine geçer — range(len(...)) yerine bunları kullanın.
while döngüleri ve kontrol akışı
while condition:
do_work()
if done: break # exit the loop
if skip: continue # jump to the next iteration
for-else yan tümcesi (nadır ama faydalı)
for item in items:
if item == target:
break
else:
# runs ONLY if the loop completed WITHOUT a break
print("not found")
Bir döngü üzerindeki else, normalde tamamlanırsa (hiç break yoksa) çalışır — arama desenleri için kullanışlıdır.
Neden önemli
Python'ın yineleme modeli — indices yerine doğrudan öğeler üzerinde döngü yapma — okunabilir, idiomatik kod yazmanın merkezindedir.
Doğru araçları bilmek (enumerate indekslere ihtiyaç duyduğunuzda, paralel yineleme için zip, sayma için range, sözlükler için .items()) size, diğer dillerden gelen başlangıçların sıklıkla yazdığı, hatalara yatkın range(len(...)) anti-patterninden kaçınmanızı sağlar.
Temiz yineleme, Pythonic kodun bir ayırt edici özelliğidir ve bu yardımcılar neredeyse her programda kullanılır.
