Seite 1 von 1
Globale Variable in Funktion importieren
Verfasst: Samstag 23. November 2013, 00:41
von Dexter1997
Mit welchem Befehl mache ich mehrere globale Variablen in einer Funktion nutzbar?
Re: Globale Variable in Funktion importieren
Verfasst: Samstag 23. November 2013, 01:08
von BlackJack
@Dexter1997: Am besten gar nicht. Funktionen haben Argumente und einen Rückgabewert. Nutze das.
Re: Globale Variable in Funktion importieren
Verfasst: Samstag 23. November 2013, 01:15
von Dexter1997
Ein netter Tipp aber trotzdem keine Antwort

Re: Globale Variable in Funktion importieren
Verfasst: Samstag 23. November 2013, 01:22
von BlackJack
@Dexter1997: Das ist nicht nur eine Antwort, sondern auch die Vernünftigste.
Re: Globale Variable in Funktion importieren
Verfasst: Samstag 23. November 2013, 01:22
von cofi
Dafuer braucht es keinen Befehl:
Code: Alles auswählen
import random
MINIMAL_NUMBER = 5
MAXIMAL_NUMBER = 23
def random_from_interval():
return random.randint(MINIMAL_NUMBER, MAXIMAL_NUMBER)
Globale Namen sind innerhalb einer Funktion nutzbar, Punkt.
Re: Globale Variable in Funktion importieren
Verfasst: Samstag 23. November 2013, 01:29
von Dexter1997
vielen dank für die antwort!
Re: Globale Variable in Funktion importieren
Verfasst: Sonntag 24. November 2013, 17:26
von Hyperion
Dexter1997 hat geschrieben:vielen dank für die antwort!
Wobei Du damit nicht glücklich werden wirst

Re: Globale Variable in Funktion importieren
Verfasst: Sonntag 24. November 2013, 17:41
von cofi
@Hyperion: Ich wuerde es ja anders formulieren: Globale Variablen anders zu verwenden macht viel ungluecklicher

Re: Globale Variable in Funktion importieren
Verfasst: Sonntag 24. November 2013, 18:27
von Hyperion
Du meinst als Nicht-Konstanten nehme ich an?

Re: Globale Variable in Funktion importieren
Verfasst: Freitag 29. November 2013, 23:19
von Chazy
Ich stoß mal auf ein Problem, wo eine globale Variable innerhalb einer Funktion nicht aufrufbar war, warum auch immer :K
Auch wenn das nicht viel Sinn macht, gibt es jedoch aspekte wie das setzen von Flags wo man die globalen Variablen von nutzen sind.
Code: Alles auswählen
flag = 0
def testfunct():
return "Hello World"
def main():
global flag
if flag == 0:
print testfunct()
if __name__ == "__main__":
main()
wie in Zeile 7, ein "Global" vor den globalen Variablennamen setzen, dann wird auch der Wert erkannt.
Re: Globale Variable in Funktion importieren
Verfasst: Freitag 29. November 2013, 23:38
von snafu
Man muss unterscheiden zwischen globalen Konstanten und globalen Variablen. Letztere (also da, wo sich der Wert noch ändern kann) gehören definitiv nicht auf Modulebene.
Re: Globale Variable in Funktion importieren
Verfasst: Freitag 29. November 2013, 23:51
von cofi
Und erstere sollte man auch GROSS schreiben, um sie gegenueber anderen als Konstanten zu deklarieren.
In deinem Beispiel ist auch kein `global` noetig. Auch musst du dir die Frage gefallen lassen, warum `flag` in diesem Fall kein Parameter von `main` ist.
Re: Globale Variable in Funktion importieren
Verfasst: Freitag 29. November 2013, 23:55
von Chazy
cofi hat geschrieben:Auch musst du dir die Frage gefallen lassen, warum `flag` in diesem Fall kein Parameter von `main` ist.
da kann ich dir nur zustimmen

wie gesagt, sollte auch nur ein kleines beispiel sein