Heute lernst du:
Am Ende kannst du flexibelere Funktionen erstellen, Code wiederverwenden und eingebaute Python-Module nutzen, um Aufgaben schneller zu lösen.
Optional bedeutet, dass ein Parameter einen Standardwert hat.
Wenn beim Aufruf kein Wert übergeben wird, nutzt Python den Standardwert.
def greeting(name, language="German"):
return "Hello " + name + "!"
print(greeting("Max"))
print(greeting("Anna", "English"))
Ausgabe:
Hello Max!
Hello Anna!
Erklärung:
name → Pflichtparameterlanguage="German" → Standardwert, optionalDu kannst eine Funktion in einer anderen Funktion verwenden, um Code wiederzuverwenden.
def greeting(name):
return "Hello " + name
def double_greeting(name):
text = greeting(name) + "!"
return text + " Nice to see you!"
print(double_greeting("Max"))
Ausgabe:
Hello Max! Nice to see you!
Erklärung:
double_greeting ruft greeting(name) aufPython hat viele eingebaute Module, die Funktionen bereitstellen, z. B. math, random oder Datumsfunktionen.
Modul importieren:
import math
# Quadratwurzel berechnen
print(math.sqrt(16))
Ausgabe:
4.0
Weitere Beispiele:
import random
number = random.randint(1, 10) # Zufallszahl zwischen 1 und 10
print(number)
Praktische Tipps:
import modulname → importiert ein Modulmodulname.funktion() → ruft Funktionen aus dem Modul aufWir schreiben eine Funktion, die Summe, Maximum und Minimum einer Liste berechnet:
def evaluate(lst):
total = sum(lst)
max_value = max(lst)
min_value = min(lst)
return total, max_value, min_value
numbers = [3, 7, 1, 9, 4]
t, mx, mn = evaluate(numbers)
print("Summe:", t, "Max:", mx, "Min:", mn)
Ausgabe:
Summe: 24 Max: 9 Min: 1
Erklärung:
sum(lst) → berechnet die Summemax(lst) → größter Wertmin(lst) → kleinster Wertreturn → gibt mehrere Werte zurückt, mx, mnSchreibe eine Funktion statistics, die eine Liste von Zahlen annimmt.
Die Funktion soll Summe, Durchschnitt, Maximum und Minimum zurückgeben.
Teste die Funktion mit einer beliebigen Liste:
def statistics(lst):
total = sum(lst)
average = total / len(lst)
max_value = max(lst)
min_value = min(lst)
return total, average, max_value, min_value
numbers = [5, 8, 2, 10, 7]
t, avg, mx, mn = statistics(numbers)
print("Summe:", t, "Durchschnitt:", avg, "Max:", mx, "Min:", mn)