Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Verwendung von Assertions | Fehlerbehandlung
Python Fortgeschrittene Konzepte
course content

Kursinhalt

Python Fortgeschrittene Konzepte

Python Fortgeschrittene Konzepte

1. Module und Importe
2. Fehlerbehandlung
3. Dateiverwaltung
4. Pytest Framework
5. Unittest-Framework
6. Iteratoren und Generatoren

book
Verwendung von Assertions

In Python ist die assert-Anweisung eine eingebaute Funktion, die dazu dient, zu überprüfen, ob bestimmte Bedingungen in Ihrem Code wahr sind. Sie dient als Plausibilitätsprüfung und bestätigt, dass bestimmte Voraussetzungen zu bestimmten Zeitpunkten während der Programmausführung erfüllt sind.

Die Syntax für die assert-Anweisung ist wie folgt:

In Python werden Assertions durch die assert-Anweisung durchgeführt. Eine Assertion überprüft eine Bedingung, und wenn die Bedingung zu False ausgewertet wird, löst sie eine AssertionError-Ausnahme mit einer optionalen Fehlermeldung aus.

12345
def calculate_average(grades): assert len(grades) > 0, "List of grades cannot be empty" return sum(grades) / len(grades) calculate_average([]) # Throw an error
copy

In diesem Beispiel berechnet die Funktion die Durchschnittsnote, und die Assertion stellt sicher, dass die Liste der Noten nicht leer ist, bevor der Durchschnitt berechnet wird. Wenn die Noten leer sind, schlägt die Assertion fehl, was eine Division durch Null verhindert und auf einen klaren Fehler in der Programmlogik hinweist.

Hier sind einige häufig verwendete Kategorien von Assertions:

  • Wert-Assertions: Diese Assertions werden häufig in Debugging- und Test-Szenarien eingesetzt, um zu überprüfen, ob die im Programm verwendeten Werte den erwarteten Kriterien entsprechen. Zum Beispiel könnten Sie Assertions wie assert x >= 18 oder wie zuvor gezeigt, assert len(grades) > 0 verwenden;

  • Typ-Assertions: Typ-Assertions sind besonders wertvoll in dynamisch typisierten Sprachen wie Python, wo sich der Typ einer Variablen ändern kann. Zum Beispiel bestätigt isinstance(x, int), dass x tatsächlich ein Integer ist;

  • Sammlungs-Assertions: Diese Assertions werden verwendet, um zu überprüfen, ob eine Sammlung (wie eine Liste oder ein Wörterbuch) bestimmte Elemente enthält oder bestimmte Kriterien erfüllt. Beispiele sind assert item in my_list oder assert key in my_dict;

  • Ausnahme-Assertions: Diese werden hauptsächlich im Unit-Testing verwendet (was wir im letzten Abschnitt lernen werden), um sicherzustellen, dass der Code Ausnahmen korrekt behandelt. Zum Beispiel überprüft assert_raises(ValueError, int, 'abc'), dass das Konvertieren von 'abc' in einen Integer einen ValueError auslöst. Ebenso verifiziert assert_raises(ExceptionType, my_function, arg1, arg2), dass der Aufruf von my_function mit arg1 und arg2 eine Ausnahme vom Typ ExceptionType auslöst.

Nun, lassen Sie uns Assertions in ein bestehendes Projekt implementieren, um zu überprüfen, ob bestimmte Bedingungen während der Programmausführung erfüllt sind.

Aufgabe

Swipe to start coding

Fügen Sie einem Beispielprojekt, das Benutzerdaten verwaltet, Assertions hinzu, um sicherzustellen, dass die Benutzerinformationen bestimmten Kriterien entsprechen.

  1. Überprüfen Sie, dass die user_id nicht bereits im users Wörterbuch vorhanden ist, um Duplikate zu vermeiden;
  2. Stellen Sie sicher, dass user_id ein Integer ist, um Konsistenz in den Benutzer-ID-Typen zu gewährleisten;
  3. Bestätigen Sie, dass user_info als Wörterbuch übergeben wird, um Datentypfehler zu vermeiden.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
toggle bottom row

book
Verwendung von Assertions

In Python ist die assert-Anweisung eine eingebaute Funktion, die dazu dient, zu überprüfen, ob bestimmte Bedingungen in Ihrem Code wahr sind. Sie dient als Plausibilitätsprüfung und bestätigt, dass bestimmte Voraussetzungen zu bestimmten Zeitpunkten während der Programmausführung erfüllt sind.

Die Syntax für die assert-Anweisung ist wie folgt:

In Python werden Assertions durch die assert-Anweisung durchgeführt. Eine Assertion überprüft eine Bedingung, und wenn die Bedingung zu False ausgewertet wird, löst sie eine AssertionError-Ausnahme mit einer optionalen Fehlermeldung aus.

12345
def calculate_average(grades): assert len(grades) > 0, "List of grades cannot be empty" return sum(grades) / len(grades) calculate_average([]) # Throw an error
copy

In diesem Beispiel berechnet die Funktion die Durchschnittsnote, und die Assertion stellt sicher, dass die Liste der Noten nicht leer ist, bevor der Durchschnitt berechnet wird. Wenn die Noten leer sind, schlägt die Assertion fehl, was eine Division durch Null verhindert und auf einen klaren Fehler in der Programmlogik hinweist.

Hier sind einige häufig verwendete Kategorien von Assertions:

  • Wert-Assertions: Diese Assertions werden häufig in Debugging- und Test-Szenarien eingesetzt, um zu überprüfen, ob die im Programm verwendeten Werte den erwarteten Kriterien entsprechen. Zum Beispiel könnten Sie Assertions wie assert x >= 18 oder wie zuvor gezeigt, assert len(grades) > 0 verwenden;

  • Typ-Assertions: Typ-Assertions sind besonders wertvoll in dynamisch typisierten Sprachen wie Python, wo sich der Typ einer Variablen ändern kann. Zum Beispiel bestätigt isinstance(x, int), dass x tatsächlich ein Integer ist;

  • Sammlungs-Assertions: Diese Assertions werden verwendet, um zu überprüfen, ob eine Sammlung (wie eine Liste oder ein Wörterbuch) bestimmte Elemente enthält oder bestimmte Kriterien erfüllt. Beispiele sind assert item in my_list oder assert key in my_dict;

  • Ausnahme-Assertions: Diese werden hauptsächlich im Unit-Testing verwendet (was wir im letzten Abschnitt lernen werden), um sicherzustellen, dass der Code Ausnahmen korrekt behandelt. Zum Beispiel überprüft assert_raises(ValueError, int, 'abc'), dass das Konvertieren von 'abc' in einen Integer einen ValueError auslöst. Ebenso verifiziert assert_raises(ExceptionType, my_function, arg1, arg2), dass der Aufruf von my_function mit arg1 und arg2 eine Ausnahme vom Typ ExceptionType auslöst.

Nun, lassen Sie uns Assertions in ein bestehendes Projekt implementieren, um zu überprüfen, ob bestimmte Bedingungen während der Programmausführung erfüllt sind.

Aufgabe

Swipe to start coding

Fügen Sie einem Beispielprojekt, das Benutzerdaten verwaltet, Assertions hinzu, um sicherzustellen, dass die Benutzerinformationen bestimmten Kriterien entsprechen.

  1. Überprüfen Sie, dass die user_id nicht bereits im users Wörterbuch vorhanden ist, um Duplikate zu vermeiden;
  2. Stellen Sie sicher, dass user_id ein Integer ist, um Konsistenz in den Benutzer-ID-Typen zu gewährleisten;
  3. Bestätigen Sie, dass user_info als Wörterbuch übergeben wird, um Datentypfehler zu vermeiden.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt