30-Days-Of-Python/German/17_exception_handling_de.md
2026-03-28 10:54:09 +01:00

3.7 KiB

30 Tage Python: Tag 17 - Ausnahmebehandlung & Packing/Unpacking

Twitter Follow

Autor: Asabeneh Yetayeh
Zweite Edition: Juli 2021

<< Tag 16 | Tag 18 >>

30DaysOfPython

📘 Tag 17

Ausnahmebehandlung (Exception Handling)

Python nutzt try und except, um Fehler elegant abzufangen. Ein Programm sollte bei einem Fehler nicht einfach abstürzen ("crash"), sondern kontrolliert reagieren ("graceful exit"). Das macht Anwendungen robuster gegen falsche Benutzereingaben oder externe Probleme (z. B. fehlende Dateien).

# Syntax
try:
    code_der_einen_fehler_verursachen_koennte
except:
    code_der_ausgefuehrt_wird_wenn_ein_fehler_auftritt

Beispiel mit spezifischen Fehlern:

try:
    name = input('Name: ')
    year = int(input('Geburtsjahr: '))
    age = 2021 - year
    print(f'Hallo {name}, du bist {age} Jahre alt.')
except ValueError:
    print('Bitte gib eine gültige Zahl für das Jahr ein!')
except Exception as e:
    print(f'Ein unerwarteter Fehler ist aufgetreten: {e}')
finally:
    print('Dieser Teil wird IMMER ausgeführt (z.B. zum Aufräumen).')

Packing und Unpacking von Argumenten

In Python nutzen wir Symbole, um Sammlungen in einzelne Argumente zu zerlegen oder umgekehrt.

  • * wird für Listen/Tupel verwendet.
  • ** wird für Dictionaries verwendet.

Unpacking (Entpacken)

Wenn eine Funktion einzelne Werte erwartet, du aber eine Liste hast:

def add(a, b, c):
    return a + b + c

nums = [1, 2, 3]
# print(add(nums)) # Fehler!
print(add(*nums)) # Funktioniert: 6

Packing (Verpacken)

Wenn du nicht weißt, wie viele Argumente übergeben werden, kannst du sie "einpacken":

def sum_all(*args):
    return sum(args)

print(sum_all(1, 2, 3, 4, 5)) # 15

Enumerate

Wenn du beim Iterieren durch eine Liste auch den Index (die Position) wissen möchtest:

countries = ['Finnland', 'Schweden', 'Norwegen']
for index, country in enumerate(countries):
    print(f'{index}. {country}')
# 0. Finnland, 1. Schweden, ...

Zip

Mit zip kannst du mehrere Listen gleichzeitig in einer Schleife durchlaufen:

fruits = ['Banane', 'Orange']
prices = [1.2, 0.8]

for fruit, price in zip(fruits, prices):
    print(f'{fruit} kostet {price}€')

💻 Übungen - Tag 17

  1. Gegeben ist die Liste: names = ['Finland', 'Sweden', 'Norway', 'Denmark', 'Iceland', 'Estonia', 'Russia']. Entpacke die ersten fünf Länder in eine Variable nordic_countries. Speichere 'Estonia' in es und 'Russia' in ru.

🎉 HERZLICEN GLÜCKWUNSCH! 🎉

<< Tag 16 | Tag 18 >>