Unterrichtsinhalt:
- 9.1: Funktionen auf Python
- 9.2: Parameter und Argumente
- 9.3: Rückgabewerte
- Übungen
9.1: Funktionen auf Python
Wir sind endlich an die letzte Lektion für Python101aufDeutsch gekommen! In dieser Lektion lernen wir, was eine Funktion ist, wie man eine baut und, warum sie nützlich sind.
Erstens… was ist eine Funktion? Wir haben schon mit ein Paar Funktionen gearbeitet (denk mal an print( ), len( ) und range( ) aus der letzten Lektion!), aber erinnere dich daran, dass diese Funktionen spezifisch eingebautene Funktionen heißen, die Python schon versteht. Man muss dem Computer nicht sagen, wie er eine print( ) Funktion ausführen soll–das weiß der Computer schon!
Hier lernst du, wie eine Funktion gebaut wird und, wie wir dem Computer, eine spezifische Aufgabe auszuführen. Hier ist die grundlegende Syntax:

Wichtig zu beachten:
- Die Funktion fängt mit [def] an, ein Schlüsselwort, das dem Computer Bescheid gibt, dass eine neue Funktion gemacht wird. [def] bedeutet “definieren” und das machen wir genau, weil wir eine Funktion definieren werden.
- Nach [def] kommt der Name der Funktion, hier [begrüßung]. Der Name ist willkürlich und könnte zum Beispiel [blahblah] sein.
- Wie alle andere Funktionen braucht sie Klammern nach dem Name ( ). In diese Klammern geht Parameter–mehr dazu später!
- Nachdem wir die Funktion nennen und die Klammern mit einem Doppelpunkt [:] beenden, dann beginnt die spezifische Aufgabe, die wir machen, hier eine print( ) Funktion.
Aktivität: mach eine kurze Funktion namens “anmeldung”. Diese Funktion soll die Länge des Ausdruckes zahlen: “hast du deine anmeldung?”
- Hinweis: Länge braucht len( )!
Lösung

Wenn du die Funktion nicht richtig gestellt hast, checken ob:
- [def] fängt der Codezeile an
- Klammern ( ) folgen den Name (hier, “anmeldung”)
- Die Aufgabe: gib die Länge des Ausdruckes “hast du deine Anmeldung?”
- Ruf deine Funktion mit anmeldung( )
9.2: Parameter und Argumente
Dass unsere Funktionen flexibler sind, gibt es Parameter und Argumente, mit denen wir unsere Funktionen anpassen und steuern können.
Ein Parameter funktioniert wie ein Platzhalter; Argumente sind die konkreten Werte, die diesen Platzhalter füllen. Parameter sind wie Kisten, in die man Argumente stellt!
Ein Beispiel einer Funktion mit einer Parameter und einem Argument von der begrüßung( ), mit der wir angefangen haben:

Wichtig zu beachten:
- [name] in der Klammern des Namens unserer Funktion ist die Parameter dieser Funktion
- [name] ist auch willkürlich!
- [“Pythonmeister”] ist das Argument, das wir in Klammern setzen, wenn wir die Funktion benutzten wollen. Argumente wird sofort verstanden, wenn sie in die Klammern einer Funktion kommen.
- “Pythonmeister” wird hier als das Argument dieser Funktion verstanden, weil “Pythonmeister” der [name] ist!
- Die print( ) Funktion mit Zeichenkette “Hallo, ” ist die spezifische Aufgabe dieser Funktion, die den Parameter [name] benutzt.
Aktivität: erstelle eine Funktion namens “essen”, die den parameter [gericht] nimmt und folgendes ausgibt:
- “Ich esse gerade [gericht]!”
Setze dein Lieblingsgericht als das Argument ein!
Lösung

Die “!” kommt am hier Ende der print( ) Funktion, aber “!” könnte im Argument auch möglich sein:

Es ist auch möglich, dass eine Funktion mehr Parameter und Argumente hat. Man muss sie mit Commas trennen:

Die Parameter [gericht] und [freundin] sind einfach Platzhalter für die Argumente, “Currywurst mit Pommes” und “Sabine”.
Aktivität: erstelle eine Funktion namens rezept( ), die zwei Parameter nimmt: [gericht] und [zutat]. Die Funktion soll ausgeben: “Für [gericht] brauchst du [zutat]”
Lösung

Wir gehen weiter!
9.3: Rückgabewerte
Der letzte Begriff von Funktionen ist [return]. Auch ein Schlüsselwort bedeutet [return], dass eine Werte zurückgegeben werden soll. Dieses Schlüsselwort unterscheidet sich von der print( ) Funktion, in dem nur der Computer die Werte sehen und wissen wird. Statt etwas nur auf dem Bildschirm anzuzeigen mit einer print( ) Funktion, kann die Funktion mit [return] ein Ergebnis zurückgeben, das du speichern, weiterverwenden oder in Berechnungen benutzen kannst.
Die grundlegende Syntax in einem Beispiel:

Wichtig zu beachten:
- Weil wir keine print( ) Funktion benutzt haben, gibt es nichts am Bildschirm in der nächsten Codezeile… aber der Computer erinnert sich…
- [return] geht vor der Ausgabe, hier [x * y * z]
- Ja! Eine Funktion kann 3 Parameter haben 🙂
Jetzt werden wir sehen, was passieren wird, wenn wir diese Funktion aufrufen:

Wichtig zu beachten:
- In diesem Beispiel wurde die Funktion [multipliziere] in der Werte “ergebnis” gespeichert. Dann wurde die print( ) Funktion auf “ergebnis” verwendet.
- Der Computer erinnert sich an die hypothetische Werte der multipliziere( ) Funktion und verwendete die Funktion, sie an die neuen Zahlen anzuwenden.
Aktivität: schreibe eine Funktion namens lieblingsfarbe( ), die [name] und [farbe] als Parameter nimmt und den Text: “[name]s Lieblingsfarbe ist [farbe]”. Verwende [return], benutz deinen Name und speichere sie in die Werte “satz”
Lösung

Übungen
Zurück zum ersten Lektion: schreibe eine Funktion die einfach “Hallo, Welt!” aufgibt, wenn sie aufgeruden wird.
Lösung

Schreibe eine Funktion names doppeltes_alter( ), die einen Parameter [alter] nimmt und den doppelten Wert mit [return] zurückgibt.
Lösung

Erstelle eine Funktion names vorstellen( ), die zwei Parameter nimmt: [name] und [stadt]. Die Funktion soll eine Zeichenkette mit [return] zurückgeben wie: “Hallo, ich bin [name] aus [stadt].”
Lösung

