Funktionen
Modul 1 — Was ist eine Funktion?
Ein wiederverwendbarer, benannter Codeblock.
Begriff
Eine Funktion bündelt eine kleine Aufgabe unter einem Namen. Du definierst sie einmal und kannst sie danach beliebig oft aufrufen — gegebenenfalls jedes Mal mit anderen Werten.
Syntax:
def <name>(<parameter>):
<Anweisungen>
return <wert>
Die Zeile def …: heißt Funktionskopf, alles darunter (eingerückt)
ist der Funktionsrumpf. Ohne Aufruf passiert nichts — die Definition selbst
führt den Code nicht aus.
Beispiel 1.1 — eine Funktion definieren und aufrufen
Python wird geladen…Prüfung
Modul 2 — Parameter & Argumente
Werte in die Funktion hineingeben.
Parameter
Die Namen in der Klammer def quadrat(zahl): heißen Parameter.
Sie sind lokale Variablen, die bei jedem Aufruf neu gefüllt werden mit den
Argumenten, die der Aufrufer übergibt.
Eine Funktion kann beliebig viele Parameter haben — getrennt durch Kommas.
Beispiel 2.1 — ein Parameter
Python wird geladen…Prüfung
Beispiel 2.2 — zwei Parameter
Python wird geladen…Prüfung
Modul 3 — return: Rückgabewerte
Funktionen liefern Ergebnisse — der Aufrufer fängt sie auf.
Idee
Mit return <wert> liefert die Funktion ein Ergebnis an die Stelle zurück,
an der sie aufgerufen wurde. Dort speicherst du das Ergebnis in einer
Variable und arbeitest damit weiter.
Die Funktion liefert ihren Wert mit return zurück. Der Aufrufer speichert ihn und gibt ihn bei Bedarf mit print() aus.
Definition und Aufruf
def quadrat(zahl):
return zahl * zahl
ergebnis = quadrat(6)
print(ergebnis)
Der Aufruf steht ohne Einrückung unter der Funktionsdefinition. Hier übst du Parameter und Rückgabewerte. Im folgenden Modul „Main-Block“ lernst du, Aufrufe beim Import einer Datei zu verhindern.
Beispiel 3.1 — Rückgabe in Variable speichern
Python wird geladen…Prüfung
Ohne return
Fehlt das return, liefert die Funktion implizit None — sie
gibt also „nichts" zurück. Das ist meistens nicht gewollt.
Modul 4 — Mehrere Rückgabewerte
Tupel-Unpacking auf der Aufrufseite.
Idee
Eine Funktion darf hinter return mehrere Werte angeben, getrennt durch
Kommas: return a, b. Python verpackt sie zu einem Tupel. Auf der
Aufrufseite verteilt man sie auf passend viele Variablen:
summe, produkt = rechner(a, b)
So lassen sich z. B. Fläche und Umfang oder Min und Max in einem Aufruf liefern.
Beispiel 4.1 — zwei Rückgaben auffangen
Python wird geladen…Prüfung
TippStilregel
Definiere die Funktion zuerst. Schreibe Eingaben, Funktionsaufrufe und Ausgaben danach ohne Einrückung unter die Definition.
HinweisZwei Arten von Aufgaben
Die Programmieraufgaben sind bewusst gemischt:
- Einlese-Aufgaben (Teil 1, 2, 4, 5): Du liest die Werte unterhalb der Funktionsdefinition
mit
input()ein (eingeführt im Modul Variablen), rufst die Funktion damit auf und gibst die Rückgabe mitprint()aus. Die Prüfung speist die Eingaben automatisch ein und vergleicht deine Ausgabe Zeichen für Zeichen — gib daher genau das Geforderte aus. - Definitions-Aufgaben (Teil 3, 6): Hier definierst du nur die
Funktion — kein
input(), keinprint(). Die Prüfung ruft deine Funktion selbst mit festen Werten auf und prüft die Rückgabe. So siehst du: man muss nicht alles einlesen, das Definieren der Funktion ist der Kern.
Quellen & weiterführende Literatur
Wo das hier vermittelte Wissen offiziell dokumentiert ist.
Offizielle Python-Dokumentation
- Python Tutorial — 4.7. Defining Functions: docs.python.org/3/tutorial/controlflow.html#defining-functions
- Python Language Reference — Function definitions: docs.python.org/3/reference/compound_stmts.html#function-definitions
Tutorials & Lehrbücher
- Real Python — Defining Your Own Python Function: realpython.com/defining-your-own-python-function
- Theis, Thomas: Einstieg in Python. 7. Auflage, Rheinwerk Verlag, 2023 — Kapitel zu Funktionen.
- Klein, Bernd: Einführung in Python 3. 4. Auflage, Hanser Verlag, 2021 — Abschnitt „Funktionen".