Function Basics

Ein Grundprinzip von Programmieren ist “DRY” (Don’t repeat yourself). Wenn unser Script viele ähnliche Codezeilen enthält ist das ein Zeichen dafür, dass man besser eine Function schreiben sollte. Das hat viele Vorteile: Unter anderem wird der Code lesbarer, einfacher zu warten und kürzer.

Um mit Python gut zurechtzukommen ist das Schreiben von eigenen Functions unerlässlich. Dies ist auch nicht weiter schwierig: Eine Function wird mit def eingeleitet, braucht einen Namen, einen Input und einen Output.

Wenn wir zum Beispiel eine Function erstellen wollen die uns grüsst, so geht dies folgendermassen:

def sag_hallo():
    return "Hallo!"

Das war’s schon! Jetzt können wir diese Function schon nutzen:

sag_hallo()
'Hallo!'

Diese Function ohne Input ist wenig nützlich. Meist wollen wir der Function etwas - einen Input - übergeben können. Beispielsweise könnten wir der Function unseren Vornamen übergeben, damit wir persönlich gegrüsst werden:

def sag_hallo(vorname):
    return "Hallo " + vorname + "!" 

Nun können wir der Function ein Argument übergeben. In folgendem Beispiel ist vorname ein Parameter, “Guido” ist sein Argument.

sag_hallo(vorname = "Guido")
'Hallo Guido!'

Wir können auch eine Function gestalten, die mehrere Parameter annimmt. Beispielweise könnte sag_hallo() zusätzlich noch einen Parameter nachname erwarten:

def sag_hallo(vorname, nachname):
    return "Hallo " + vorname + " " + nachname + "!" 
sag_hallo(vorname = "Guido", nachname = "van Rossum")
'Hallo Guido van Rossum!'