Bir sabah bilgisayarınızı açıp Python kodunuzu yazarken, programınızı çalıştırdığınızda karşınıza çıkan bu hata sizi biraz şaşırtabilir. İşte o an, "Ne oldu? Ne yanlış yaptım?" diye düşünmeye başlarsınız. Çoğu zaman hata mesajını okumak bile kafa karıştırıcı olabilir çünkü Python’un verdiği mesajda genellikle sadece "IndentationError" yazar, ve bu, biraz belirsiz olabilir.
İndentasyon Hatası nedir?
Python'da indentation (girinti), kodun düzenini belirleyen kritik bir unsurdur. Python, kodu çalıştırmadan önce her satırın hangi blokta olduğunu anlamak için girintiye bakar. Yani, bir fonksiyon, koşul ya da döngü bloğuna ait kodlar doğru şekilde girintilenmemişse, Python bunu anlamaz ve size IndentationError hatasını verir.
Şimdi bu durumu bir hikaye ile örnekleyelim. Farz edelim ki bir grup arkadaş bir araya gelmiş ve bir oyun oynamaya karar vermişler. Her arkadaş, sırasıyla kendi adımlarını atarak oyunun ilerlemesini sağlıyor. Ama bir arkadaş sırayı unutup bir adım atlamazsa, oyun durur! Python da tıpkı bu şekilde, her kod satırının sırasıyla ve düzgün bir şekilde girintilenmesini bekler.
IndentationError: Bir Misafir Geliyor!
Diyelim ki Python ile yeni bir projeye başladınız. Aşağıdaki gibi bir kod yazdınız:
if True:
print("Selam Python!")
print("İkinci satır")
print("Üçüncü satır")
print("Son satır")
Kodunuz gayet düzgün görünüyordur, değil mi? Ama bir bakarsınız ki çalıştırdığınızda Python size şöyle bir hata mesajı verir:
```
IndentationError: expected an indented block
```
Bu hata mesajı ne anlama geliyor? Aslında, Python sizden belirli bir yapıyı bekliyor. O yapıyı sağlayamadığınızda, Python’un söylediği şey "Hadi bakalım, biraz daha dikkatli ol!" gibi bir şeydir. Yani, bir blok başlangıcı (if, for, while gibi) var ama ona ait kod satırlarını düzgün girintilememişsiniz.
Hata Nerede?
Şimdi hatayı düzeltmek için kodu gözden geçirelim. Örneğin, şu şekilde yanlış bir girinti yapmış olalım:
if True:
print("Selam Python!")
print("İkinci satır")
print("Üçüncü satır")
print("Son satır")
Evet, burada girintiyi unutmuşuz! Python, ilk `print` komutunu beklediği seviyede bulamıyor, bu yüzden hata veriyor. Çözüm basit: her bir satırı doğru şekilde girintileyelim:
if True:
print("Selam Python!")
print("İkinci satır")
print("Üçüncü satır")
print("Son satır")
Bir Başka Örnek: Farklı Girinti Karakterleri
Bir diğer yaygın hata ise farklı girinti karakterlerinin karışmasıdır. Python, bir blok içindeki tüm girintilerin tutarlı olmasını bekler. Yani, hem boşluk (space) hem de tab (tab) karakterleri bir arada kullanılamaz.
Diyelim ki bazen yanlışlıkla tab ve boşluğu karıştırarak kod yazdınız. Örneğin:
if True:
→print("Selam Python!")
print("İkinci satır")
Bu durumda, Python size şu hatayı verecektir:
```
TabError: inconsistent use of tabs and spaces in indentation
```
Çözüm yine basit: Tüm girintileri aynı karakter ile yapın. Ya sadece tab kullanın, ya da sadece boşluk kullanın. Python'da genellikle 4 boşluk karakteri önerilir.
Sonuç: İndentasyon Hatası ve Python Dünyası
Sonuç olarak, Python'daki indentation hatası, çoğu zaman dikkatli olmanız gereken basit bir sorundur. Kodunuzu düzenlerken girintilere dikkat ettiğiniz sürece, bu hata ile sıkça karşılaşmazsınız. Python'un bu şekilde çalışması, kodun okunabilirliğini artırmak ve yazılımın daha düzenli olmasını sağlamak içindir.
Unutmayın, Python dünyasında her şeyin düzgün çalışabilmesi için adımlarınızı doğru atmanız gerekiyor! Kodunuzu yazarken, tıpkı bir çizer gibi her satırı doğru yerleştirerek ilerleyin. Python’un isteklerine göre davranarak, kusursuz bir şekilde programınızı oluşturabilirsiniz.