Python Globale/lokale Variablen

Warum hat dieser code funktioniert:

var = 0

def func(num):
    print num
    var = 1
    if num != 0:
        func(num-1)

func(10)

aber dieser gibt eine "lokale variable 'var' referenced before assignment" Fehler:

var = 0

def func(num):
    print num
    var = var
    if num != 0:
        func(num-1)

func(10)
Siehe Antwort und seine Kommentare für eine Diskussion auf, warum dies so ist.
mögliche Duplikate von Kurze Beschreibung des Python-Scoping-Regeln

InformationsquelleAutor JJ Beck | 2012-10-26

Schreibe einen Kommentar