Python Fortgeschritten: Erweiterte Funktionen & Module

Ziel des Levels

Heute lernst du:

Am Ende kannst du flexibelere Funktionen erstellen, Code wiederverwenden und eingebaute Python-Module nutzen, um Aufgaben schneller zu lösen.

Schritt 1: Funktionen mit optionalen Parametern

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:

Schritt 2: Funktionen in anderen Funktionen aufrufen

Du 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:

Schritt 3: Arbeiten mit externen Modulen

Python 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:

Schritt 4: Praxisbeispiel – Listen auswerten

Wir 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:

Übung

Schreibe 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)