UnboundLocalError, bir fonksiyon içinde henüz değer atanmamış bir yerel değişkeni kullanmaya çalıştığında oluşur.
Neden olur?
Genelde bir global değişkeni fonksiyon içinde = ile değiştirmeye çalışınca olur; Python onu yerel kabul eder.
Hatalı kod
sayac = 0
def artir():
sayac = sayac + 1 # UnboundLocalError
artir()
Doğru kod
sayac = 0
def artir():
global sayac
sayac = sayac + 1
artir()
Kontrol listesi
- Global değişkeni değiştireceksen
globalanahtar kelimesini kullan. - Daha iyisi: değeri parametre olarak al ve
returnile döndür. - Yerel ve global değişkenleri karıştırmamaya dikkat et.
Python derslerimizle adım adım pratik yapabilirsin.