Seite 1 von 1

Variablenübergabe von Unterfunktion an Unterfunktion

Verfasst: Freitag 18. Juli 2014, 13:31
von MarcNAV
Such schon länger nach einer Lösung und müßte eigentlich nicht schwierig sein. Ich möchte die Variable name von funktion1 an funktion2 übergeben. Hab schon mit global und return methoden rumgespielt, funktioniert aber leider nich.

P.S.: das ist ein sehr vereinfachtes Modell meines Programmes. In beiden Unterfunktionen laufen mehrere Rechenschritte ab.

Code: Alles auswählen

def funktion1():

    name = 'Hans'
    

def funktion2():

    print name

def main():

    funktion1()
    funktion2()


if __name__ == '__main__':
    main()

Re: Variablenübergabe von Unterfunktion an Unterfunktion

Verfasst: Freitag 18. Juli 2014, 13:50
von MarcNAV
Ah okay so funktionierts. Ein Kollege hats mir gerade erklärt.

Code: Alles auswählen

def funktion1():

    global name
    name = 'Hans'
    

def funktion2():

    print name

def main():

    funktion1()
    funktion2()


if __name__ == '__main__':
    main()




Re: Variablenübergabe von Unterfunktion an Unterfunktion

Verfasst: Freitag 18. Juli 2014, 13:53
von /me
Rückgabewerte und Parameter sind ein elementarer Bestandteil jedes nichttrivialen Programms. Schau dir das Tutorial zu Functions noch mal an und frag dann gezielt nach, wenn du Probleme hast.

Code: Alles auswählen

def funktion1():
    result = "Monty"         
    return result
   
def funktion2(value):
    print value
 
def main():
    name = funktion1()
    funktion2(name)

Re: Variablenübergabe von Unterfunktion an Unterfunktion

Verfasst: Freitag 18. Juli 2014, 13:58
von /me
MarcNAV hat geschrieben:Ah okay so funktionierts. Ein Kollege hats mir gerade erklärt.
Ja, so funktioniert es, aber die Verwendung von global ist fast immer extrem schlechter Stil. Das ist die Notlösung für Anfänger die es nicht besser wissen und/oder erklärt bekommen. Mit global schaffst du unnötige Abhängigkeiten zwischen einzelnen Bestandteilen deiner Software.

Die Verwendung von global in diesem Fall zeigt, dass der Kollege definitiv auch ein Programmierneuling ist.

Re: Variablenübergabe von Unterfunktion an Unterfunktion

Verfasst: Freitag 18. Juli 2014, 14:03
von MarcNAV
Danke gut zu wissen /me. War mit dem global auch nicht so zufrieden.