Zusammenfassung
In dieser Lektion hast du gelernt:
- Eine Funktion ist ein benanntes Stück Code, das du einmal schreibst und beliebig oft ausführen kannst. Dank Funktionen musst du Code nicht wiederholen, und wenn du eine Funktion änderst, gilt die Änderung überall, wo sie verwendet wird.
- Du definierst eine Funktion mit dem Schlüsselwort
def, einem Namen, Klammern mit Parametern, einem Doppelpunkt und einem eingerückten Rumpf:def flaeche_ausgeben(breite, hoehe):. Eine Definition allein führt nichts aus. - Du rufst eine Funktion mit ihrem Namen und Klammern auf:
flaeche_ausgeben(5, 6). Eine Funktion muss definiert sein, bevor man sie aufruft, sonst bekommst du einenNameError. - Ein Parameter ist ein Name in der Definition, ein Argument ist ein Wert im Aufruf. Die Argumente kommen der Reihe nach in die Parameter. Ein fehlendes Argument endet mit einem
TypeError, es sei denn, der Parameter hat einen Standardwert:def preis_ausgeben(preis, waehrung="EUR"):. returngibt einen Wert an die Stelle des Aufrufs zurück, sodass du den Aufruf wie einen Wert verwenden kannst:print(addiere(2, 3)),gesamt = addiere(2, 3) * 2.print()zeigt einen Wert nur an; das Programm kann mit ihm nicht arbeiten. Eine Funktion ohnereturngibtNonezurück. Eine Funktion, die etwas berechnet, sollte das Ergebnis zurückgeben.returnbeendet die Funktion sofort, und der Rest der Funktion wird nicht ausgeführt. Bei Bedingungen gewinnt das erstereturn, das ausgeführt wird.- Variablen, die in einer Funktion erstellt werden, und ihre Parameter sind lokal: Sie existieren nur innerhalb dieser Funktion. Werte gehen über die Parameter in eine Funktion hinein und kommen mit
returnheraus. - Eine Funktion kann eine Liste bekommen, sie mit einer Schleife durchgehen und ein Ergebnis zurückgeben. Das
returnsteht nach der Schleife, so weit eingerückt wie dasfor.
In der nächsten Lektion, Dictionaries, lernst du, Werte, die zusammengehören, wie Name und Alter einer Person, in einem einzigen Wert zu speichern.
So schreibst du es:
Anweisungen
- 1
Üben wir ein bisschen. Schreibe eine Funktion
warenkorb_summemit zwei Parametern:preise(eine Liste von Preisen) undrabattmit dem Standardwert0. Die Funktion gibt die Summe der Preise abzüglich des Rabatts zurück. Gibwarenkorb_summe(warenkorb)undwarenkorb_summe(warenkorb, 50)aus. Das Programm gibt280und230aus. - 2
Schreibe eine Funktion
preis_formatierenmit einem Parameterpreis, die den Preis als Text mit der Währung zurückgibt, zum Beispiel"230 €"für230. Gib damit die Summe mit Rabatt und einer Beschriftung aus:print(f"Zu zahlen: {preis_formatieren(warenkorb_summe(warenkorb, 50))}"). Python ruft zuerstwarenkorb_summeauf und übergibt den Wert, den die Funktion zurückgibt, anpreis_formatieren. Das Programm gibtZu zahlen: 230 €aus.