Funktionsdefinition

Man kann selbst auch Funktionen programmieren und sie dann verwenden. So eine Funktion kann man mehrmals aufrufen.

Durch das Definieren von Funktionen und dem mehrmaligen Aufruf dieser, vermeidet man, dass Code doppelt geschrieben werden muss.

Definition (links) und Aufruf (rechts) der Funktion «znacht»
def znacht(x):
    """Die Znacht-Funktion: x ist die Anzahl Personen die mitessen"""
    print(x + " Cordon Bleus")
    print(x + " mal 100g Pasta")

# jetzt können wir unsere eigene Funktion aufrufen
# das klappt mehrmals und mit unterschiedlichen Argumenten
znacht(1)
znacht(5)

Der Block welcher zur Funktion gehört, wird eine Stufe (Tabulator oder Leerschläge) eingerückt. So weiss Python, was zur Funktion gehört. Geht der Code wieder auf die vorherige Ebene zurück, dann gehört dieser Teil nicht mehr zur Funktion.

Konvention

Wenn wir eine Funktion definieren, dann dokumentieren wir sie gerade mit einem Kommentar. Der Kommentar kommt gleich nach nach der Definitions-Zeile und wird – wie der Rest der Funktion – eingerückt.

Rückgabewerte

Wenn unsere eigene Funktion einen Wert berechnet oder ein Objekt erzeugt und wir dieses weiterverwenden wollen, dann müssen wir es mit return als Rückgabewert zurückliefern:

def wieviel_pasta(anzahl_personen):
    """Berechnet Pastamenge für eine Anzahl Personen"""
    ergebnis = anzahl_personen * 100
    return ergebnis;

Die Funktion wieviel_pasta() erhält als Argument eine Zahl. Damit berechnet sie wieviel Gramm Pasta es braucht (Anzahl Personen mal 100) und liefert als Ergebnis den berechneten Wert zurück. Wir können die Funktion wie folgt verwenden:

personen = 5
pasta_in_gramm = anzahl_personen(personen)
print("Für " + str(personen) + " braucht es " + str(pasta_in_gramm) + " Gramm Pasta") 

Die return-Anweisung ist die letzte Anweisung der Funktion. Hier wird die Funktion beendet.