Ga naar inhoud
Python-uitzonderingenFout
UnboundLocalError

UnboundLocalError

Er werd verwezen naar een lokale variabele voordat er een waarde aan was toegewezen.

python

Wat veroorzaakt deze fout

U leest een variabele vóór de toewijzing ervan binnen dezelfde functie. Python ziet de toewijzing en behandelt de variabele als lokaal voor de gehele functie, waardoor het lezen vóór de toewijzing mislukt. Dit gebeurt vaak bij pogingen een globale variabele te wijzigen zonder het global-sleutelwoord.

Hoe op te lossen

Gebruik het global-sleutelwoord om te verwijzen naar globale variabelen: global x. Of gebruik nonlocal voor variabelen in de omsluitende scope. Herstructureer de code zodat de variabele vóór het lezen wordt toegewezen. Geef de waarde door als functieparameter.

Voorbeeld

x = 10
def f(): print(x); x = 20
f()  # UnboundLocalError
Officiële documentatie

Gerelateerde foutcodes