Programme lesbar gestalten und Code wiederverwenden – Funktionen machen es möglich. Und du kannst Zeit sparen, weil du den Code nur ein Mal entwickelst und oft verwendest.
Dieser Blog-Post ist eine Einführung in Funktionen mit Python für Programmieranfänger.
Beispiel einer Funktion in Python
def erstes(eine_sequenz): nr1 = eine_sequenz[0] return (nr1)
Probiere gleich aus: Öffne den Playground und kopiere den Code in das Eingabefeld, das du dort oben links findest.
Lies hier weiter, um zu verstehen, was da passiert.
Funktion und Aufruf einer Funktion

Zeile 1
Die Funktion erstes wird definiert. Das Schlüsselwort lautet def, gefolgt von der Bezeichnung der Funktion, hier erstes, und danach in Klammern die Liste der Übergabeparameter, durch Kommas getrennt. Hier nur ein Parameter mit der Bezeichnung l. Wichtig ist der Doppelpunkt :, Python besteht darauf.
Zeile 2
Der Rumpf der Funktion. Es können auch mehrere Zeilen sein und diese können beliebige Befehle enthalten. Wichtig ist, dass sie eingerückt werden.
Die Zeile in diesem Beispiel geht davon aus, dass l eine Liste ist und sie weist der Variablen nr1 das erste Element der Liste zu.
Zeile 3
Der Rückgabewert. Eine Funktion kann einen Wert zurückgeben. Das Schlüsselwort ist return, gefolgt vom Rückgabewert in Klammern.
Zeile 4 und Zeile 5
Hier werden zwei Listen. liste1 und liste2 definiert und initialisiert.
Zeilen 6 und Zeilen 7
print() ist ja auch eine Funktion. Sie gibt keinen Wert zurück, sondern gibt den Übergabeparameter auf der Konsole aus. Der Übergabeparameter ist erstes(liste1).
Damit wird die Funktion erstes() aufgerufen und ihr wird die Variable liste1 übergeben.
Der Programmfluss verzweigt also auf Zeile 1. Dort wird der Wert von liste1 in die Variable l geschrieben und auf Zeile 2 verwendet. Auf Zeile 3 wird ein Wert zurückgegeben. Dieser geht an die Funktion print(), welche ihn auf der Konsole ausgibt.
Zeile 6 könnte auf zwei Zeilen stehen:
ergebnis = erstes(liste1) print(ergebnis)
Durch print(erstes(liste1)) wird derselbe Effekt erreich.
Auf Zeile 7 wird erstes() nochmals aufgerufen aber diesmal wird liste2 als Parameter übergeben.
Beachte: Die Funktion muss vor ihrem Gebrauch im Skript bekannt sein. Aus diesem Grund beginnt deren Definition in unserem Beispiel auf Zeile 1.
Beachte auch: Funktionen lohnen sich dann, wenn ihre Logik sehr häufig in unterschiedlichem Zusammenhang verwendet wird. Beispiele von Built-In-Funktionen
print()len(liste1)- und viele andere mehr
Was sind Methoden?
Methoden sind ähnlich wie Funktionen. Sie gehören in die objektorientierte Programmierung. In Bezug auf die Anwendung unterscheiden sich Methoden und Funktionen.
Ein Beispiel ist
liste2.append('Abraham')
append ist eine Methode, die auf zum Objekt liste2 gehört – in unserem Beispiel eine Variable vom Datentyp list
.Auch Methoden können eine Parameterliste verlangen. Dort werden diejenigen Variablen aufgezählt, mit denen die Methode etwas tun soll. Die Methode wirkt immer auf ein Objekt – im Beispiel oben, wirkt die Methode append auf das Objekt liste2 und verwendet dazu den konstanten String 'Abraham'.
Um Methoden zu definieren, muss man zuerst Klassen definieren. Doch das ist nicht das Thema dieses Kapitels.
Unabhängig ob du schon Programmiererfahrung hast oder nicht: du wirst dich daran gewöhnen, dass es in Python Funktionen und Methoden gibt und dass die Syntax für den Aufruf sich jeweils unterscheidet.
Python Listen – einfache Übungen
Wende die Theorie praktisch an und vertiefe dein Verständnis
Entwickle die Lösungen der Challenges im Playground und vergleiche deine Lösung mit den Beispiellösungen.
Challenge
Schreibe eine Funktion mein_produkt, die zwei Zahlen als Parameter übernimmt.
Sind beide Zahlen grösser als Null, dann gibt die Funktion das Produkt der Zahlen zurück und sonst gibt die Funktion 0 zurück.
Teste die Funktion mit verschiedenen Beispielen.
Challenge
Schreibe eine Funktion meine_division, die zwei Parameter a und b entgegennimmt und das Ergebnis der Division a/b zurückgibt. Bei Division durch 0 wird 0 zurückgegeben.

