Globale Variable in Funktion importieren
-
- User
- Beiträge: 92
- Registriert: Sonntag 2. Dezember 2012, 21:13
Mit welchem Befehl mache ich mehrere globale Variablen in einer Funktion nutzbar?
@Dexter1997: Am besten gar nicht. Funktionen haben Argumente und einen Rückgabewert. Nutze das.
-
- User
- Beiträge: 92
- Registriert: Sonntag 2. Dezember 2012, 21:13
Ein netter Tipp aber trotzdem keine Antwort
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Dafuer braucht es keinen Befehl:
Globale Namen sind innerhalb einer Funktion nutzbar, Punkt.
Code: Alles auswählen
import random
MINIMAL_NUMBER = 5
MAXIMAL_NUMBER = 23
def random_from_interval():
return random.randint(MINIMAL_NUMBER, MAXIMAL_NUMBER)
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
- User
- Beiträge: 92
- Registriert: Sonntag 2. Dezember 2012, 21:13
vielen dank für die antwort!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Wobei Du damit nicht glücklich werden wirstDexter1997 hat geschrieben:vielen dank für die antwort!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
@Hyperion: Ich wuerde es ja anders formulieren: Globale Variablen anders zu verwenden macht viel ungluecklicher
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Du meinst als Nicht-Konstanten nehme ich an?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
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.
wie in Zeile 7, ein "Global" vor den globalen Variablennamen setzen, dann wird auch der Wert erkannt.
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()
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
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.
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.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte