4.6.1 Funktionen

Funktionen sind Blöcke von wiederverwendbarem Code, die eine bestimmte Aufgabe ausführen. Funktionen helfen dabei, Code übersichtlich zu halten und Wiederholungen zu vermeiden.

✔️ Einfache Funktionen

1
2
3
4
5
6
def moin():
    print('Hello World!')

moin()
moin()
moin()

Ausgabe:
Hello World!
Hello World!
Hello World!

Erklärung:
Die Funktion moin() gibt bei jedem Aufruf den Text „Hello World!“ aus. Sie wird dreimal aufgerufen – deshalb erscheint die Ausgabe auch dreimal.


🛠️ Parameter und Ausgabe

1
2
3
4
5
def addNumbers(a, b):
    summe = a + b
    print('Summe:', summe)

addNumbers(3, 4)

Ausgabe:
Summe: 7

Erklärung:
Die Funktion addNumbers nimmt zwei Zahlen entgegen (a und b), berechnet deren Summe und gibt diese mit print() aus. Hier wird 3 + 4 = 7 gerechnet.


1
2
3
4
def addNumbers(a, b):
    return a + b

print('Summe:', addNumbers(3, 5))

Ausgabe:
Summe: 8

Erklärung:
Diese Version der Funktion gibt das Ergebnis mit return zurück. Das Ergebnis wird direkt in print() verwendet. Vorteil: Man kann das Ergebnis weiterverarbeiten oder speichern.


1
2
3
4
5
6
7
def addnumbers(a, b):
    return a + b

x = 3
y = 5
z = addnumbers(x, y)
print('Summe:', z)

Ausgabe:
Summe: 8

Erklärung:
Hier sieht man, wie man Werte erst in Variablen (x, y) speichert und dann an die Funktion übergibt. Die Funktion rechnet 3 + 5, gibt das Ergebnis zurück, das dann in z gespeichert und schließlich ausgegeben wird.


🔁 Verschachtelte Funktionen

1
2
3
4
5
6
7
8
9
def begruessung():
    print('Hallo')
    print('Wie geht es dir?')

def verabschiedung():
    print('Tschüss')

begruessung()
verabschiedung()

Ausgabe:
Hallo
Wie geht es dir?
Tschüss

Erklärung:
Hier werden zwei Funktionen definiert: begruessung() gibt zwei Zeilen Text aus, verabschiedung() nur eine. Beide Funktionen werden nacheinander aufgerufen.


⚠️ Globale Variablen (nicht empfohlen)

1
2
3
4
5
6
def addnumbers():
    global summe
    summe = 3 + 5

addnumbers()
print(summe)

Ausgabe:
8

Erklärung:
Die Funktion verwendet die Variable summe außerhalb des normalen Funktionsbereichs (global). Das geht zwar, ist aber fehleranfällig und schwer zu warten – also lieber vermeiden.


1
2
3
4
5
6
7
8
9
def addnumbers():
    summe = a + b
    return summe

# Hauptprogramm
a = 3
b = 5
z = addnumbers()
print('Summe:', z)

Ausgabe:
Summe: 8

Erklärung:
Auch hier fehlen Parameter bei der Funktion. Stattdessen „holt“ sie sich a und b aus dem Hauptprogramm. Das funktioniert nur, wenn a und b vorher bereits definiert wurden. Das macht den Code aber unübersichtlich.


Übung

Erstellen Sie ein Programm zur Berechnung des Durchschnittsalters.
1. Fragen Sie zuerst ab, wie viele Angaben gemacht werden sollen (z. B. über wie viele Studierende das Alter erfasst wird).
2. Fragen Sie so oft nach dem Alter und speichern Sie die Angaben in einer Liste.
3. Ermitteln Sie in einer Funktion das Durchschnittsalter und geben Sie dieses mit return an das Hauptprogramm zurück.