Seite 1 von 1

Gültigkeitsbereich von Variablen geht nicht??

Verfasst: Mittwoch 23. Dezember 2020, 23:01
von red | Ali
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?

Re: Gültigkeitsbereich von Variablen geht nicht??

Verfasst: Mittwoch 23. Dezember 2020, 23:10
von red | Ali
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)