- 1 Section
- 15 Lessons
- unbegrenzt
- Python Grundkurs16
- 1.1Was ist Python?
- 1.2Installation & Einrichtung
- 1.3Erstes Python Programm: Hallo Welt!
- 1.4Grundlegende Syntax
- 1.5Variablen und Datentypen
- 1.6Kontrollstrukturen
- 1.7Funktionen
- 1.8Module & Pakete
- 1.9Fehlerbehandlung
- 1.10Dateiverarbeitung
- 1.11Klassen und Objekte
- 1.12Vererbung und Polymorphismus
- 1.13Bibliotheken und Frameworks
- 1.14Aufgaben
- 1.15Lösungen
- 1.16Python11 Questions
Funktionen
1. Warum überhaupt Funktionen?
Wenn du ein Programm schreibst, wiederholst du oft ähnliche Aufgaben:
Begrüßungen, Berechnungen, Textausgaben, Prüfungen – alles taucht mehrfach auf.
Schauen wir uns das ohne Funktion an:
print("Guten Morgen, Anna!")
print("Guten Morgen, Max!")
print("Guten Morgen, Lisa!")
Das funktioniert – aber stell dir vor, du willst die Ausgabe ändern, z. B. „Hallo“ statt „Guten Morgen“.
Dann müsstest du jede einzelne Zeile manuell anpassen.
Das ist fehleranfällig und auf Dauer unübersichtlich.
2. Mit Funktion
Jetzt verpacken wir die wiederkehrende Aufgabe in eine Funktion:
def begruessung(name):
print("Guten Morgen,", name, "!")
Dieser Code definiert eine Funktion namens begruessung.
Sie hat noch nichts ausgeführt, sondern nur gespeichert, was sie tun soll.
Python liest also:
„Wenn irgendwann jemand
begruessung()aufruft, führe diese Zeilen aus.“
Jetzt rufen wir die Funktion auf – und das passiert tatsächlich im zweiten Codeblock:
begruessung("Anna")
begruessung("Max")
begruessung("Lisa")
Ausgabe:
Guten Morgen, Anna !
Guten Morgen, Max !
Guten Morgen, Lisa !
3. Was passiert dabei im Hintergrund
Beim Start des Programms liest Python die Funktionsdefinition (
def ...),
merkt sich den Namenbegruessung, führt sie aber noch nicht aus.Erst wenn du
begruessung("Anna")schreibst,
springt Python in den Funktionsblock hinein,
ersetzt den Platzhalternamedurch"Anna"
und führt die eingerückte Zeileprint("Guten Morgen,", name, "!")aus.Nach der Ausgabe springt der Interpreter zurück und macht mit dem nächsten Befehl weiter.
Du kannst dir das vorstellen wie eine „Mini-Maschine“ im Programm:
Sie wartet auf einen Aufruf, arbeitet ihre Aufgabe ab und kehrt dann zum Hauptprogramm zurück.
4. Aufbau einer Funktion
| Bestandteil | Bedeutung |
|---|---|
def | Start der Funktionsdefinition |
begruessung | frei gewählter Funktionsname |
(name) | Eingabeparameter (Platzhalter für einen Wert) |
: | Beginn des Funktionsblocks |
print(...) | Anweisung, die beim Aufruf ausgeführt wird |
5. Vorteile von Funktionen
| Ohne Funktion | Mit Funktion |
|---|---|
| Code wird länger und unübersichtlich | Code ist kurz und modular |
| Änderungen müssen mehrfach durchgeführt werden | Änderung an einer Stelle genügt |
| Wiederverwendung kaum möglich | Funktion kann beliebig oft aufgerufen werden |
| Erhöhte Fehlerrate | Einheitliches Verhalten |
Funktionen sind also wie kleine „Werkzeuge“,
die du einmal baust und beliebig oft nutzen kannst.
6. Rückgabewerte (return)
Funktionen müssen nicht nur ausgeben – sie können auch Werte zurückgeben.
def addiere(a, b):
return a + b
summe = addiere(3, 5)
print("Das Ergebnis lautet:", summe)
Erklärung:
addiere()bekommt zwei Parameter (a,b),berechnet die Summe,
und
returngibt den Wert zurück,
der dann in der Variablesummegespeichert wird.
Ohne return würde Python nach der Berechnung einfach aufhören,
und du hättest kein Ergebnis zur Weiterverarbeitung.
7. Parameter, Argumente und Standardwerte
Parameter sind die Platzhalter in der Definition (z. B.
name).Argumente sind die tatsächlichen Werte, die du beim Aufruf übergibst (z. B.
"Anna").
Du kannst auch Standardwerte vergeben:
def hallo(name="Welt"):
print("Hallo", name)
hallo() # nutzt den Standardwert
hallo("Ricky") # überschreibt den Standardwert
Ausgabe:
Hallo Welt
Hallo Ricky
8. Lokale und globale Variablen
Alles, was innerhalb einer Funktion definiert wird, ist lokal.
Außerhalb ist diese Variable nicht sichtbar.
def test():
x = 10
print(x)
test()
print(x) # Fehler
→
10
NameError: name 'x' is not defined
Globale Variablen liegen außerhalb von Funktionen und gelten überall –
sollten aber sparsam verwendet werden, da sie leicht versehentlich überschrieben werden.
Wie Funktionen im Speicher arbeiten
Klicke dich durch den Ablauf – von der Definition bis zur Rückgabe.
Quellcode
Speicher / Stack
9. Zusammenfassung
Funktionen fassen wiederkehrende Aufgaben in einem wiederverwendbaren Block zusammen.
defdefiniert die Funktion,()enthält die Parameter,:leitet den Funktionsblock ein.Erst der Aufruf führt die Funktion tatsächlich aus.
Mit
returngibst du Werte zurück, statt sie nur auszugeben.Parameter (Eingaben) und Rückgaben (Ausgaben) machen deinen Code flexibel und klar.
Gute Funktionen sind kurz, eindeutig und machen genau eine Sache.
