Python UnboundLocalError beim Aktualisieren einer Variablen von einer äußeren Funktion (Abschluss)Python

Python-Programme
Anonymous
 Python UnboundLocalError beim Aktualisieren einer Variablen von einer äußeren Funktion (Abschluss)

Post by Anonymous »

Ich versuche, eine Zählerfunktion zu erstellen, die sich ihren Zustand merkt, aber ich erhalte einen UnboundLocalError, wenn ich den Zähler erhöhe. Weiß jemand warum?
Minimal reproduzierbares Beispiel

Code: Select all

def make_counter():
count = 0

def inc(step=1):
if step > 0:
count += step
return count

return inc

c = make_counter()
print(c())
Fehler

Code: Select all

UnboundLocalError: local variable 'count' referenced before assignment
Ich habe erwartet, dass inc() die Variable count von make_counter() aktualisiert. Warum behandelt Python count als lokal innerhalb von inc() und wie aktualisiert man die äußere Variable richtig?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post