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.
Wichtig: Funktion gibt etwas zurück statt selbst etwas auszugeben. Der
print()-Aufruf gehört dann in den if __name__ == "__main__":-Block,
nicht in den Funktionsrumpf.
VorgriffDer if __name__ == "__main__":-Block
Ab hier siehst du die Funktion oben definiert und darunter einen festen Rahmen, in dem sie aufgerufen wird:
def quadrat(zahl):
return zahl * zahl
if __name__ == "__main__":
print(quadrat(6))
Lies if __name__ == "__main__": vorerst einfach als „hier startet das
Programm" — der eigentliche Ablauf (Eingaben, Aufrufe, print()) steht in
diesem Block, die Funktionen darüber. Warum man das genau so schreibt,
lernst du im direkt folgenden Modul Main-Block.
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 oben in der Datei. Den Aufruf, die Eingabe-Variablen
und print() schreibst du in den if __name__ == "__main__":-Block
weiter unten. Die Programmieraufgabe verlangt genau dieses Muster.
HinweisZwei Arten von Aufgaben
Die Programmieraufgaben sind bewusst gemischt:
- Einlese-Aufgaben (Teil 1, 2, 4, 5): Du liest die Werte im Main-Block
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".