Seite 1 von 1

Morpheus Tutorial #20 : Gültigkeit von Variablen

Verfasst: Dienstag 12. November 2019, 16:42
von hlech65730
Hallo @ all,
bei mir ( Windows 10, Python 2.7 ) funktioniert das hier nicht ( so wie bei Morpheus ) :

195 def fvartest():
196 def tstlocal():
197 tstvar = "local text "
198 def do_nonlocal():
199 nonlocal tstvar = 'non local text'
200 tstvar = 'non local text'
201 def do_global():
202 global tstvar
203 tstvar = 'global text'
204 tstvar = "text "
205 tstlocal()
206 do_nonlocal()
207 do_global()
208 print("after init:" , tstvar )

fvartest()
print("global", tstvar )


File "First_Try_with_comments.py", line 199
nonlocal tstvar = 'non local text'
^
SyntaxError: invalid syntax

Die Einrückungen werden nicht angezeigt, sind aber richtig !
Offensichtlich gibt es "nonlocal" als Schlüsselwort nicht.
Kann mir jemand helfen warum ? Geht das bei der Version 2.7 nicht ?
Wie geht es dann ?
Gruß, HLech65730

Re: Morpheus Tutorial #20 : Gültigkeit von Variablen

Verfasst: Dienstag 12. November 2019, 16:50
von Bolitho
Du kannst den code zwischen die code-Tags setzen, dann klappt das auch mit der Einrückung.

Zur Frage: nonlocal wurde erst mit Python 3 eingeführt und funktioniert nicht unter Python 2.7. Python 2.7 Support läuft bald aus, es ist also eine gute Idee sich mit Python 3 auseinanderzusetzen.

Re: Morpheus Tutorial #20 : Gültigkeit von Variablen

Verfasst: Dienstag 12. November 2019, 16:58
von __blackjack__
Und weder ``nonlocal`` noch ``global`` sollte man verwenden. Also braucht man das als Anfänger auch nicht wirklich lernen.

Re: Morpheus Tutorial #20 : Gültigkeit von Variablen

Verfasst: Dienstag 12. November 2019, 19:37
von ThomasL
Das Video ist vom 07.09.2015 und Morpheus hat zu dem Zeitpunkt mindestens Python 3.4 verwendet
und ich gehe davon aus, dass er dies zu Beginn des Kurses kommuniziert hat.
Den Kurs mit 2.7 nachzuvollziehen ist nicht unbedingt sinnvoll.

Re: Morpheus Tutorial #20 : Gültigkeit von Variablen

Verfasst: Mittwoch 13. November 2019, 08:39
von hlech65730
Danke !!! Steige auf Python 3.x um !!