Bu AttributeError, değeri None olan bir şey üzerinde metot/özellik kullanmaya çalıştığında oluşur. None 'hiçbir şey' demektir.

Neden olur?

En sık neden: bir fonksiyonun yanlışlıkla None döndürmesi. Örneğin liste.sort() None döndürür; bunu bir değişkene atarsan o değişken None olur.

Hatalı kod

sirali = [3, 1, 2].sort()   # sort() None dondurur
print(sirali[0])            # AttributeError/TypeError

Doğru kod

liste = [3, 1, 2]
liste.sort()                # yerinde siralar
print(liste[0])             # 1
# ya da:
sirali = sorted([3, 1, 2])  # sorted() yeni liste dondurur

Kontrol listesi

  • Bir metodun ne döndürdüğünü kontrol et; bazıları None döndürür.
  • None olabilecek değeri kullanmadan önce if x is not None: ile kontrol et.
  • sort() yerinde sıralar (None), sorted() yeni liste döndürür.

Python derslerimizle adım adım pratik yapabilirsin.