goto Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
bluelagoon
User
Beiträge: 216
Registriert: Mittwoch 25. August 2010, 12:26

hallo,
ich finde keinen Befehl für GoTo.
gibts sowas in python google spuckt mir da aus das es nichts gibt ?!
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Nö, gibt's nicht. Wofür, meinst du, bräuchtest du es denn?
In specifications, Murphy's Law supersedes Ohm's.
bluelagoon
User
Beiträge: 216
Registriert: Mittwoch 25. August 2010, 12:26

um zu etwas zu springen was nach der Funktion steht.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Dafür nutzt man, wie in den meisten anderen Sprachen auch, besser Funktionen.
bluelagoon
User
Beiträge: 216
Registriert: Mittwoch 25. August 2010, 12:26

joa jetz net mehr Code gelöscht. Danke trotzdem.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Code: Alles auswählen

def jump(index):
    txt = ['gibt es', 'Befehl.', 'kein']
    print txt[index]

def start():
    print 'In Python'
    jump(0)
    print 'keinen \'goto\''
    jump(1)
    print 'Python ist'
    jump(2)
    print 'Basic!'
    return 'Haben fertig!'

>>> print start()
In Python
gibt es
keinen 'goto'
Befehl.
Python ist
kein
Basic!
Haben fertig!
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
bluelagoon
User
Beiträge: 216
Registriert: Mittwoch 25. August 2010, 12:26

war ja auch nur ne Frage
BlackJack

`goto` und `comefrom` gibt es als Modul: http://entrian.com/goto/ :twisted:

(Und das ist übrigens der erste Treffer wenn ich nach "python goto" suche…)
problembär

bluelagoon hat geschrieben:um zu etwas zu springen was nach der Funktion steht.
Ich weiß, was Du meinst, aber die anderen haben in der Sache recht, daß man Programme so heute nicht mehr strukturiert.
Man ruft vielmehr eine Funktion auf, die dann bis zum Ende des Funktionscodes läuft und dann an die Stelle zurückkehrt, von der sie aufgerufen wurde.
Mit "return" kann man die Funktion daneben noch vor Ende des Funktionscodes an die genannte Stelle zurückkehren lassen.
"goto" springt dagegen wild an irgendwelche Stellen im Code. Dieser wird dadurch sehr unübersichtlich. Und es ist, wie zutreffend gesagt wurde, auch nicht nötig, also überflüssig.
Also, Zeit umzulernen. Ehrlich.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

problembär hat geschrieben:Ich weiß, was Du meinst, aber die anderen haben in der Sache recht, daß man Programme so heute nicht mehr strukturiert.
Naja, zumindest in C sieht man auch in aktuellem Code ab und an mal, dass Gotos zur Ressourcenfreigabe genutzt werden. Diese Vorgehensweise taucht z.B. an einigen Stellen auch im Quelltext des Python-Interpreters auf. Ob Sprungbefehle per se schlecht sind, möchte ich nicht beurteilen. Dafür fehlt mir einfach die Erfahrung in Sachen C.
BlackJack

@snafu: Das sieht man in C-Quelltext oft an Stellen wo man in anderen Sprachen eine Ausnahmebehandlung gemacht hätte. Denn so ein ``except``-Block ist ja im Grunde so etwas wie ein Sprungziel für den Ausnahme- beziehungsweise Fehlerfall.
Antworten