def hallo(name="Gast"):
= "Hallo " + name + "!"
begruessung return begruessung
5 Wiederverwendbarer Code mit Funktionen
Stellen Sie sich vor, Sie müssen eine bestimmte Berechnung mehrfach im Programm durchführen. Anstatt den Code jedes Mal neu zu schreiben, können Sie ihn in einer Funktion bündeln.
Funktionen sind ein zentrales Werkzeug, um Code:
- übersichtlich,
- wiederverwendbar und
- testbar zu machen.
5.1 Lernziele dieses Kapitels
Am Ende dieses Kapitels können Sie:
- eigene Funktionen mit
def
erstellen, - Parameter übergeben und Rückgabewerte nutzen,
- Funktionen sinnvoll in Programmen einsetzen.
5.2 Eine Funktion definieren
Eine Funktion besteht aus folgenden Teilen:
- Definition mit
def
- Funktionsname
- Parameter in Klammern (optional)
- Einrückung für den Funktionskörper
- (optional)
return
-Anweisung
Beispiel:
Fangen wir mit dem ersten Stichwort an. Funktionen werden mit def
definiert und können beliebig oft aufgerufen werden:
def begruessung():
print("Hallo und willkommen!")
Sie wird erst ausgeführt, wenn Sie sie aufrufen:
begruessung()
Hallo und willkommen!
5.3 Parameter übergeben
Funktionen können Eingabewerte (Parameter) erhalten:
def begruessung(name):
print("Hallo", name + "!")
"Alex") begruessung(
Hallo Alex!
5.4 Rückgabewerte mit return
Eine Funktion kann auch einen Wert zurückgeben:
def quadrat(zahl):
return zahl * zahl
= quadrat(5)
ergebnis print(ergebnis)
25
5.5 Beispiel: Umrechnungen
5.5.1 Euro zu US-Dollar
def euro_zu_usd(betrag_euro):
= 1.09
wechselkurs return betrag_euro * wechselkurs
print("20 € sind", euro_zu_usd(20), "US-Dollar.")
20 € sind 21.8 US-Dollar.
Erstellen Sie eine Funktion begruesse(name)
, die den Namen in einem Begrüßungstext verwendet:
Hallo Fatima, schön dich zu sehen!
Schreiben Sie eine Funktion, die Celsius in Fahrenheit umrechnet:
Formel: [ F = C + 32 ]
5.6 Parameter mit Standardwerten
Sie können Parametern Standardwerte zuweisen. So kann die Funktion auch ohne Angabe eines Werts aufgerufen werden:
def begruessung(name="Gast"):
print("Hallo", name + "!")
# Hallo Gast!
begruessung() "Maria") # Hallo Maria! begruessung(
Hallo Gast!
Hallo Maria!
print()
vs. return
Diese beiden Begriffe werden oft verwechselt:
Ausdruck | Bedeutung |
---|---|
print() |
zeigt einen Text auf dem Bildschirm |
return |
gibt einen Wert an den Aufrufer zurück |
Beispiel:
def verdoppeln(x):
return x * 2
# Ausgabe sichtbar machen
print(verdoppeln(5)) # Ausgabe: 10
10