Seite 1 von 1

Sprungmarken?

Verfasst: Donnerstag 22. Juli 2004, 12:03
von Psus82
Hi,

gibt es in Python eine Möglichkeit innerhalb einer Funktion Sprungmarken zu setzen?
Wenn ja wie sieht das setzen einer Sprungmarke und der Aufruf aus?


Gruß
Psus82

Verfasst: Donnerstag 22. Juli 2004, 12:30
von RainBowBender
so etwas gibt es nicht.

allerdings kannst du lokale Funktionen definieren: also

Code: Alles auswählen

def foo1():
    def foo2():
        """Eine Funktion die nur innerhalb des Namespaces von foo1 zur verfügung steht"""
        print "test"

    foo2()

OK aber.

Verfasst: Donnerstag 22. Juli 2004, 12:33
von Psus82
Gut aber wie kann ich in der lokalen Funktion auf Variablen der oberen Funktion zugreifen?
Und wie kann ich in einer if else Anweisung diese Unterfunktion aufrufen.


Gruß
Psus82

Verfasst: Donnerstag 22. Juli 2004, 13:17
von Dookie
Hi Psus82,
Gut aber wie kann ich in der lokalen Funktion auf Variablen der oberen Funktion zugreifen?

Code: Alles auswählen

def foo1(bedingung):
    prefix = "foo sagt:"

    def foo2(what):
        print prefix, what

    if bedingung:
        foo2("bedingung ist wahr!")
    else:
        foo2("bedingung ist unwahr!")

foo1(1)
foo1(0)
Besser ists aber die Variablen als Parameter an Funktionen zu übergeben.


Gruß

Dookie

Verfasst: Freitag 23. Juli 2004, 22:11
von Beyond
Es gibt Sprungmarken!!!
Such mal in der Python-Announce-List nach "GoTo", so um den 1.4. (vmtl. 2004).

Funktioniert, ist aber soooo schlechter Stil, daß es als Aprilscherz auftauchte :-)

cu beyond

Verfasst: Sonntag 25. Juli 2004, 09:58
von Gast
Also, ich weiß ja nicht....
ich stand bei manchen sachen auch da und dachte:"Jetzt ein goto, und ich wäre glücklich".

Aber nach ein wenig rumgrübeln habe ich festgestellt, das ich durch umplanung des Codes(zerlegen in kleinere Module, Änderung von entscheidungskriterien,...) diesen (Basic-)Sprachkonstruct nicht brauche.

MfG, querdenker
P.S.: Hat allerdings auch schonmal bedeutet, ein Programm komplett neu zu überarbeiten :wink:

Verfasst: Sonntag 25. Juli 2004, 12:09
von Milan
Hi. Ich finde auch, dass goto's schlechtester Stil sind, denn wer die verwendet ist einfach nur zu faul sein Programm klar aufzubauen. Wirklich nötig hatte ich die nie...

Verfasst: Sonntag 25. Juli 2004, 13:25
von Dookie
Also ich hab bei Sprachen, die goto kennen immer das Gefühl, daß der Sprache etwas fehlt um wirklich strukturiert programmieren zu können. Nur bei Assembler ist IMHO das goto-equivalent jmp vertretbar, ansonst Finger weg von goto!


Gruß

Dookie