Sind eigentlich Variablen die erst in einer if-Anweisung inizialisiert werden globale Variablen oder muss ich sie vor der if-Anweisung z.B. mit zahl = None oder zahl = 0 erst inizialisieren ?
Bei C muss ich es davor machen, weil sonst die Variable nur in der if-Anweisung als sichtbar dient.
viele grüße
Globale Variablen
Ich verstehe nicht was du meinst. Hast du denn mal ausprobiert, was du möchtest und hast du ein Beispiel.
Globale Variablen haben nichts mit f zu tun. Wenn du auf eine Variable zugreifen willst, dann sollte sie auch bestehen.
Globale Variablen haben nichts mit f zu tun. Wenn du auf eine Variable zugreifen willst, dann sollte sie auch bestehen.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
if/while/for Blöcke haben keinen eigenen Namensraum. Variablen, die darin angelegt werden, sind auch außerhalb des Blockes sichtbar, aber natürlich erst nachdem sie angelegt wurden.lodder hat geschrieben:Sind eigentlich Variablen die erst in einer if-Anweisung inizialisiert werden globale Variablen oder muss ich sie vor der if-Anweisung z.B. mit zahl = None oder zahl = 0 erst inizialisieren ?
Bei C muss ich es davor machen, weil sonst die Variable nur in der if-Anweisung als sichtbar dient.
Hör auf in C zu denken. Das hilft dir nicht weiter. Vergiss C und lerne Python als eine völlig neue Sprache. Dann ersparst du dir einigen Ärger. Und vor allem: Probiere es aus. Dein Forenbeitrag hat wahrscheinlich mehr Tipparbeit verursacht, als ein kleines Experiment.
Code: Alles auswählen
>>> if 1:
... a = 5
>>> print a
5
Bottle: Micro Web Framework + Development Blog
hier mal ein saublödes Beispiel:
Code: Alles auswählen
wert = -2
while True:
if wert == 1:
zahl = 0
break
else:
print 'Fehler'
zahl = -1
break
print zahl
das heißt also ich muss die Variable zahl nicht vor der While oder if -Schleife inizialisieren, sondern ich kann sie erst in der Schleife selbst erstellen mit zahl = -1 z.B.
break?lodder hat geschrieben:Code: Alles auswählen
wert = -2 while True: if wert == 1: zahl = 0 break else: print 'Fehler' zahl = -1 break
Das sieht aus wie bei einem case in C, aber nicht wie Python.
- xpilz
- User
- Beiträge: 76
- Registriert: Sonntag 11. April 2010, 12:46
- Wohnort: Deutschland
- Kontaktdaten:
aber break gibt es doch in Python, zwar nur in Schleifen oder warst du auf den Schreibstil aus?break?
Mein Python-Blog.
Ich denke, /me kritisierte den Stil. In den konkreten Fall hätte das break auch hinter dem if/else stehen können und dann wiederum wäre die while-Schleife auch unnötig gewesen. Also einfach
Dies hingegen würde ich auch in Python lieber so schreiben:
Doch dann wäre die Frage, ob man Variablen auch innerhalb von if oder while-Blöcken erzeugen kann und ob sie dann auch nach diesen Blöcken noch existieren (sie tuen es) obsolet geworden.
Stefan
Code: Alles auswählen
if whatever:
zahl = 1
else:
zahl = 3
Code: Alles auswählen
zahl = 1 if whatever else 3
Stefan