Wir haben bereits eine Funktion gesehen: print()
, die eine Zeile ausgibt. Um eine Funktion zu nutzen, schreibt man immer ihren Namen, gefolgt von einigen Argumenten in Klammern ()
. Das Wort Argument meint hier die Eingabedaten für eine Funktion. Dann wird die Funktion etwas tun - abhängig von den Argumenten. Wenn eine Funktion mehrere Argumente annimmt, werden sie mit Kommas (,
) getrennt. Zum Beispiel kann auch print()
mehrere Argumente annehmen; sie werden in einer bestimmten Reihenfolge ausgegeben, getrennt durch ein Leerzeichen. Das demonstrieren wir hier einmal:
Die zusätzlichen Leerzeichen in dem Beispielprogramm haben keine Auswirkung auf die Ausgabe. Zusätzliche Leerzeichen haben häufig keine Auswirkungen. Eine Ausnahme besteht bei zusätzlichen Leerzeichen am Anfang einer Zeile, auch Einrückung genannt; diese haben eine spezielle Bedeutung und können Fehler verursachen (klicke hier für ein Beispiel), wenn sie falsch genutzt werden. Du wirst später sehen, wie man Einrückungen richtig nutzt. |
Eine Funktion kann auch Werte liefern (wie eine Ausgabe). Zum Beispiel gibt die Funktion max()
(Abkürzung für Maximum) das größte aller ihrer Argumente zurück, die allesamt Zahlen sein müssen.
max(42, 17)
sagt man "Die Funktion max
gibt den Wert 42
zurück."
Der beste Freund der max()
-Funktion verhält sich ganz ähnlich: die min()
-Funktion gibt das Minimum der Argumente zurück.
x = 13 y = 7 a = max(x+y, x*2) b = min(x, y) print(a,b)
Funktionen können zu komplexen Ausdrücken kombiniert werden.
x = min(max(13, 7), 9) print(x)
Du bist dabei nicht auf von Python vordefinierte Funktionen eingeschränkt. Du wirst auch noch lernen, selber Funktionen zu definieren.
Häufige Fehler
Wenn du eine Funktion mit zu wenigen oder zu vielen Argumenten aufrufst, wird ein Fehler erzeugt. Zum Beispiel benötigt max()
mindestens eine Eingabe:
Es ist wichtig, sich die Fehlermeldungen genau durchzulesen, wenn das Programm nicht funktioniert. Python gibt meistens sinnvolle Hinweise darauf, was schief ging. Manchmal musst du dich aber auch ein wenig umschauen, um den Fehler zu finden - hier ist ein Beispiel,
Python gibt hier aus, einen Syntaxfehler gefunden zu haben:
Traceback (most recent call last): In line 2 of the code you submitted: bigger = max(3, 4) ^ SyntaxError: invalid syntaxJedoch ist die Zeile
bigger = max(3, 4)
völlig korrekt. Das Problem ist quasi von der vorherigen Zeile rübergerutscht: Wir haben die schließende Klammer )
nach smaller = min(14, 99
vergessen und Python hat in der nächsten Zeile nach einem )
gesucht. Also: schaue auch die Zeilen darüber und darunter an, wenn du Probleme beim Debuggen deines Programms hast.
Übungen
Dies ist eine zweigeteilte Übung zur Benutzung der min()
- und max()
-Funktionen. Es gibt Verbindungen zwischen den Städten Maxime und Miniac mit verschiedenen Brücken. Jede Brücke hat ein gewisses Gewicht, das sie tragen kann.
Übung: Code-Durcheinander
Hier ist eine weitere Übung, in der du per Drag'n'Drop den Code in die richtige Reihenfolge bringen musst.
Wenn du die obigen Übungen gelöst hast, hast du zwei Möglichkeiten:
- Du kannst direkt mit Lektion 3 weitermachen oder
- weitere Übungen zu Funktionen in Lektion 2X ausprobieren.