Funktionen in Python

Was sind Funktionen?

Funktionen sind Codestücke, die entweder von Python vorgegeben sind oder selbst definiert und dann immer wieder verwendet werden können. Funktionen werden häufig benutzt, wenn eine bestimmte Aufgabe, wie zum Beispiel eine Berechnung, immer wieder ausgeführt werden muss. Statt sie im Code mehrmals zu schreiben, wird sie einmal definiert und dann mit ihrem Funktionsnamen aufgerufen. An Funktionen können Werte (Parameter) übergeben werden, die die Funktion dann verarbeitet. Funktionen ihrerseits können ebenfalls Werte, wie etwa ein Ergebnis, zurückgeben.

Der Funktionskopf

Eine Funktion beginnt mit dem Schlüsselwort „def“ (= define). Danach kommt der Funktionsname, über den die Funktion später aufgerufen werden soll. In Klammern stehen anschließend die Parameter. Das sind Variablen, die in der Funktion ganz normal wie andere Variablen verwendet werden können. Sie werden beim Funktionsaufruf in der gleichen Reihenfolge in die Klammern geschrieben.

Der Codeblock, der beim Aufruf der Funktion ausgeführt werden soll, wird darunter geschrieben und – wie in Python üblich – einen Tab eingerückt.

Codebeispiel

Im Beispielprogramm sollen mithilfe einer Funktion „add“ zwei als Parameter übergebene Variablen addiert und mit dem „return“-Befehl zurückgegeben werden.

Zuerst zeigen wir Python mit dem Schlüsselwort „def“, dass wir eine Funktion definieren wollen. Um die Funktion später aufrufen zu können, muss sie einen Namen bekommen. Er sollte möglichst das aussagen, was die Funktion macht. In diesem Fall ist es die Addtion von zwei Werte, also nennen wir die Funktion „add“. In den runden Klammern stehen die Parameter.

Return: mit dem return-Befehl können wir den nachvolgenden Wert zurückgeben. Der wird hier in die Variable „ergebnis“ geschrieben und danach mit der „print“-Funktion ausgegeben werden. Übrigens: wenn du genau hinguckst siehst du, dass die „print“-Funktion auch eine ganz normale Funktion ist, die mit Python mitgeliefert wird. Als Parameter übergeben wir hier den Text, den wir ausgeben wollen.

#Beispiel einer einfachen funktion mit 2 Parametern

#Funktion definieren
def add(sum1, sum2):
    return sum1 + sum2

#Funktion aufrufen und in Variable schreiben
ergebnis = add(1, 5)

print(ergebnis)

funk = add
funk(2, 2)

Funktionen in Variablen

Wenn du eine Funktion wie gewohnt schreibst und dabei einer Variable zuweist, wird immer der Rückgabewert dieser Funktion in die Variable geschrieben. Das gleiche passiert auch, wenn du eine Funktion aufrufst und in den Parametern eine andere. Um das zu verhindern, musst du beim zuweisen oder übergeben, die Klammern weglasse.

Im Codebeispiel hierfür, habe ich eine Funktion geschrieben, die wie oben, zwei Parameter mit einander Addiert. Zusätzlich wird dieser Wert mit einem dritten Parameter verglichen. Wenn die Summe der ersten Parameter mit dem dritten, dem „check_wert“, übereinstimmt wird eine Funktion aufgerufen, die als vierter Paramter übergeben wurde.

#Einer Funktion werden zwei Parameter übergeben, die addiert werden
#Wenn der 3. Paramter  das Ergebnis der Addition ist wird eine Funktion
#Als 4. Parameter übergeben

def add(sum1, sum2, check_wert, funk):
    ergebnis = sum1 + sum2
    if ergebnis == check_wert:
        funk()

#Beispielfunktion, die übergeben wird
def sayHello():
    print("hello world")


add(2, 3, 5, sayHello)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.