1. SyntaxError: Invalid Syntax
Bu hata, Python'da en sık karşılaşılan hatalardan biridir. Python, yazdığınız kodu satır satır okur ve doğru bir sözdizimi bekler. Hatalı bir parantez, eksik bir iki nokta üst üste veya yanlış bir anahtar kelime kullanımı, Python’un bir "SyntaxError" vermesine yol açar.
Çözüm: Hata mesajında hangi satırda olduğunu kolayca görebilirsiniz. Genellikle bu hata, bir satırdaki yazım hatasından kaynaklanır. Kodunuzu dikkatlice kontrol edin ve imla hatalarından kaçının.
# Örnek:
print("Merhaba Dünya" # Eksik parantez
2. IndentationError: Unexpected indent
Python, kodunuzu düzenlemek için girintiyi kullanır. Bu, kodu anlamak için büyük bir kolaylık sağlasa da, yanlış girinti kullanımı büyük sorunlara yol açar. Bir tab veya boşluk kullanımı hatalı olduğunda, Python hemen size "IndentationError" hatasını verir.
Çözüm: Kodunuzu düzenlerken dikkatli olun. Girintilerinizi tutarlı bir şekilde yapın. Python’daki her blok için genellikle 4 boşluk kullanmak en iyisidir.
# Örnek:
def selamla():
print("Merhaba!") # Girinti doğru
print("Nasılsınız?")
3. TypeError: Unsupported operand type(s)
Python'da tip uyumsuzlukları sıkça karşılaşılan bir diğer hata türüdür. Mesela, bir sayı ile bir stringi toplamak Python için anlamsızdır ve "TypeError" hatasına yol açar.
Çözüm: İşlem yapmadan önce değişkenlerin türlerini kontrol edin. Python dinamik bir dil olduğu için bazen değişken tipleri otomatik olarak değişebilir.
# Örnek:
x = 5
y = "Python"
print(x + y) # TypeError: Unsupported operand type(s)
4. IndexError: List index out of range
Bir listenin geçersiz bir indeksine erişmeye çalıştığınızda bu hatayı alırsınız. Python listeleri sıfırdan başlatır, bu yüzden 3 elemanlı bir listede 3. elemana erişmeye çalışmak "IndexError" hatasına yol açar.
Çözüm: Listenizin boyutunu kontrol edin. Listeye erişmeden önce her zaman uzunluğunu kontrol etmek iyi bir alışkanlıktır.
# Örnek:
my_list = [1, 2, 3]
print(my_list[3]) # IndexError: List index out of range
5. KeyError: Key not found in dictionary
Python’daki dictionary’ler, belirli anahtarlarla ilişkilendirilen değerlere erişim sağlar. Eğer var olmayan bir anahtara erişmeye çalışırsanız, "KeyError" alırsınız.
Çözüm: Anahtarın var olup olmadığını kontrol etmek için `in` anahtar kelimesini kullanabilirsiniz.
# Örnek:
my_dict = {"ad": "Ahmet", "yaş": 25}
print(my_dict["boy"]) # KeyError: 'boy'
6. AttributeError: 'NoneType' object has no attribute
Bu hata, bir nesnenin `None` değerine sahip olduğu ve bu nesne üzerinde bir işlem yapılmaya çalışıldığı zaman ortaya çıkar. Genellikle bir fonksiyonun `None` döndürmesi sonucu karşılaşılır.
Çözüm: Fonksiyonların doğru değer döndürüp döndürmediğini kontrol edin. Ayrıca `None` değerini kontrol etmek için `if` koşulu kullanabilirsiniz.
# Örnek:
def get_name():
return None
name = get_name()
print(name.lower()) # AttributeError: 'NoneType' object has no attribute 'lower'
7. ValueError: Invalid literal for int() with base 10
Bir string'i sayıya dönüştürmeye çalışırken bu hatayı alırsınız. Örneğin, "123abc" gibi bir değeri int() fonksiyonuyla sayıya çevirmeye çalışırsanız, Python size bu hatayı verir.
Çözüm: Dönüştürme işleminden önce, değerlerin uygun formatta olup olmadığını kontrol edin. RegEx veya `isdigit()` fonksiyonunu kullanarak geçerli bir sayı olup olmadığını kontrol edebilirsiniz.
# Örnek:
x = int("123abc") # ValueError: invalid literal for int() with base 10
8. ZeroDivisionError: division by zero
Bir sayıyı sıfıra bölmeye çalıştığınızda bu hata meydana gelir. Matematiksel olarak sıfıra bölme tanımlanmadığı için Python bunu engeller ve "ZeroDivisionError" verir.
Çözüm: Bölme işlemi yapmadan önce paydanın sıfır olup olmadığını kontrol edin.
# Örnek:
x = 10
y = 0
print(x / y) # ZeroDivisionError: division by zero
9. FileNotFoundError: No such file or directory
Bir dosyayı açmaya çalışırken, dosyanın mevcut olmaması durumunda bu hata meydana gelir.
Çözüm: Dosyanın doğru yolda ve doğru isimle olduğundan emin olun. Ayrıca dosyanın mevcut olup olmadığını kontrol etmek için `os.path.exists()` fonksiyonunu kullanabilirsiniz.
# Örnek:
with open("non_existent_file.txt", "r") as file:
content = file.read() # FileNotFoundError
10. ImportError: No module named
Bu hata, Python kütüphanelerinin doğru şekilde yüklenmemesi durumunda meydana gelir. Eğer bir modül veya paket doğru bir şekilde yüklenmemişse, bu hatayı alırsınız.
Çözüm: Kütüphanenin doğru şekilde yüklendiğinden emin olun. Gerekirse `pip install
# Örnek:
import non_existent_module # ImportError: No module named 'non_existent_module'
Sonuç
2025'te Python’da hata ayıklama süreci, doğru araçlar ve bilgilerle çok daha kolay hale geldi. Bu yazıda ele aldığımız 10 yaygın hata, Python geliştiricilerinin en sık karşılaştığı sorunlardır. Bu hatalarla karşılaştığınızda, sakin olun ve çözüm yöntemlerine göz atarak hatalarınızı hızlıca çözün. Python dünyası büyüyor ve bu tür hatalarla karşılaşmak, geliştirici olarak sizin için öğrenme fırsatıdır. Hatalarınızdan ders çıkararak, daha sağlam ve verimli kodlar yazabilirsiniz!