Gültigkeitsbereich von Variablen geht nicht??

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
red | Ali
User
Beiträge: 34
Registriert: Samstag 31. Oktober 2020, 16:39

Hallo,
ich lerne seit 4 Tagen Python und bin bei dem Gültigkeitsbereich von Variablen angekommen.
Ich weiß, dass man global, usw... nur sehr selten benutzt. Trotzdem würde ich es gerne verstehen, warum es bei mir nicht funktioniert...
Das Ding ist: NICHTS DAVON, außer die lokale Variable funktioniert.

Code: Alles auswählen

# root/python/pyc/prjc

def f():
    def flocal():
        var = 'lokal'
        

    def fnonlocal():
        nonlocal var
        var = 'Nicht lokal'

    print(var)

    def globalvar():
        global var
        var = 'Globale Variable'



f()
print(var)

Jedes mal bekomme ich den Fehler:

Code: Alles auswählen

  File "/home/red/PycharmProjects/loginGUIsmpl/module1337.py", line 9
    nonlocal var
    ^
SyntaxError: no binding for nonlocal 'var' found

Process finished with exit code 1
oder, dass 'var' nicht definiert ist.
Was habe ich falsch gemacht?
red | Ali
User
Beiträge: 34
Registriert: Samstag 31. Oktober 2020, 16:39

Hat sich schon erledigt...
Musste nur die Funktionen aufrufen ^^
Also:
# root/python/pyc/prjc

def f():
def flocal():
var = 'lokal'


def fnonlocal():
nonlocal var
var = 'Nicht lokal'

def globalvar():
global var
var = 'Globale Variable'

var = 'text'
flocal()
fnonlocal()
globalvar()
print('After init: ' + var)




f()
print(var)
Antworten