Seite 1 von 1

globale Variablen in Funktionen ändern

Verfasst: Dienstag 13. April 2021, 18:41
von Smion
Servus, ich habe ein Problem, wenn ich eine Funktion in einem Modul definiere und in einem anderen benutze, wenn es um globale Variablen geht.

Modul hilfe:

Code: Alles auswählen

def hallo():
    global gruß
    gruß = "hallo"


Modul main:

Code: Alles auswählen

from hilfe import hallo

gruß = "griasdi"
hallo()
print (gruß)
wenn ich das jetzt ausführe wird "griasdi" geprinted
wenn ich die Definition der Funktion allerdings im gleichen Modul habe und nicht erst impoertiere, dann druckt er hallo.

Woran liegt das und was muss ich tun, damit er die Variable auch ändert, wenn die Funktion importiert ist

Re: globale Variablen in Funktionen ändern

Verfasst: Dienstag 13. April 2021, 22:17
von __blackjack__
@Smion: ``global`` ist ja schon schlimm genug, aber es ist schön, dass das auf das Modul begrenzt ist. Jetzt willst Du noch mehr komische Magie. Vergiss ``global`` komplett und löse das *ordentlich*. Was auch immer ”das” ist. ``global`` ist keine Lösung sondern ein Problem.