Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Verwendung von Assertions in Python: Debugging und Sicherstellung der Code-Integrität | Fehlerbehandlung
Quizzes & Challenges
Quizzes
Challenges
/
Python Fortgeschrittene Konzepte

bookVerwendung von Assertions in Python: Debugging und Sicherstellung der Code-Integrität

In Python ist die assert-Anweisung ein integriertes Feature, das dazu dient, zu überprüfen, ob bestimmte Bedingungen im Code erfüllt sind. Sie fungiert als Plausibilitätsprüfung und bestätigt, dass bestimmte Voraussetzungen zu bestimmten Zeitpunkten während der Programmausführung gegeben sind.

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

assert condition, message

In Python werden Assertions durch die assert-Anweisung durchgeführt. Eine Assertion prüft eine Bedingung, und wenn diese Bedingung False ergibt, wird eine AssertionError-Ausnahme mit einer optionalen Fehlermeldung ausgelöst.

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 vor der Berechnung nicht leer ist. Wenn die Notenliste leer ist, schlägt die Assertion fehl, wodurch eine Division durch Null verhindert und ein klarer Fehler in der Programmlogik angezeigt wird.

Hier sind einige häufig verwendete Kategorien von Assertions:

  • Wert-Assertions: Diese Assertions werden häufig beim Debugging und Testen eingesetzt, um zu überprüfen, ob die im Programm verwendeten Werte den erwarteten Kriterien entsprechen. Beispielsweise können Assertions wie assert x >= 18 oder wie zuvor gezeigt assert len(grades) > 0 verwendet werden;

  • Typ-Assertions: Typ-Assertions sind besonders in dynamisch typisierten Sprachen wie Python nützlich, da 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 prüfen, ob eine Sammlung (wie eine Liste oder ein Dictionary) 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 überwiegend beim Unit-Testing eingesetzt (was im letzten Abschnitt behandelt wird), um sicherzustellen, dass der Code Ausnahmen korrekt behandelt. Zum Beispiel prüft assert_raises(ValueError, int, 'abc'), dass die Umwandlung von 'abc' in einen Integer eine ValueError auslöst. Ebenso überprüft assert_raises(ExceptionType, my_function, arg1, arg2), dass der Aufruf von my_function mit arg1 und arg2 eine Ausnahme vom Typ ExceptionType auslöst.

Aufgabe

Swipe to start coding

Fügen Sie einem Beispielprojekt, das Benutzerdaten verwaltet, Assertions hinzu, um sicherzustellen, dass die Benutzerinformationen bestimmte Kriterien erfüllen.

  1. Überprüfen, dass die user_id noch nicht im users-Dictionary vorhanden ist, um Duplikate zu vermeiden;
  2. Sicherstellen, dass user_id ein Integer ist, um Konsistenz bei den Benutzer-ID-Typen zu gewährleisten;
  3. Bestätigen, dass user_info als Dictionary übergeben wird, um Fehler beim Datentyp zu verhindern.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

bookVerwendung von Assertions in Python: Debugging und Sicherstellung der Code-Integrität

Swipe um das Menü anzuzeigen

In Python ist die assert-Anweisung ein integriertes Feature, das dazu dient, zu überprüfen, ob bestimmte Bedingungen im Code erfüllt sind. Sie fungiert als Plausibilitätsprüfung und bestätigt, dass bestimmte Voraussetzungen zu bestimmten Zeitpunkten während der Programmausführung gegeben sind.

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

assert condition, message

In Python werden Assertions durch die assert-Anweisung durchgeführt. Eine Assertion prüft eine Bedingung, und wenn diese Bedingung False ergibt, wird eine AssertionError-Ausnahme mit einer optionalen Fehlermeldung ausgelöst.

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 vor der Berechnung nicht leer ist. Wenn die Notenliste leer ist, schlägt die Assertion fehl, wodurch eine Division durch Null verhindert und ein klarer Fehler in der Programmlogik angezeigt wird.

Hier sind einige häufig verwendete Kategorien von Assertions:

  • Wert-Assertions: Diese Assertions werden häufig beim Debugging und Testen eingesetzt, um zu überprüfen, ob die im Programm verwendeten Werte den erwarteten Kriterien entsprechen. Beispielsweise können Assertions wie assert x >= 18 oder wie zuvor gezeigt assert len(grades) > 0 verwendet werden;

  • Typ-Assertions: Typ-Assertions sind besonders in dynamisch typisierten Sprachen wie Python nützlich, da 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 prüfen, ob eine Sammlung (wie eine Liste oder ein Dictionary) 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 überwiegend beim Unit-Testing eingesetzt (was im letzten Abschnitt behandelt wird), um sicherzustellen, dass der Code Ausnahmen korrekt behandelt. Zum Beispiel prüft assert_raises(ValueError, int, 'abc'), dass die Umwandlung von 'abc' in einen Integer eine ValueError auslöst. Ebenso überprüft assert_raises(ExceptionType, my_function, arg1, arg2), dass der Aufruf von my_function mit arg1 und arg2 eine Ausnahme vom Typ ExceptionType auslöst.

Aufgabe

Swipe to start coding

Fügen Sie einem Beispielprojekt, das Benutzerdaten verwaltet, Assertions hinzu, um sicherzustellen, dass die Benutzerinformationen bestimmte Kriterien erfüllen.

  1. Überprüfen, dass die user_id noch nicht im users-Dictionary vorhanden ist, um Duplikate zu vermeiden;
  2. Sicherstellen, dass user_id ein Integer ist, um Konsistenz bei den Benutzer-ID-Typen zu gewährleisten;
  3. Bestätigen, dass user_info als Dictionary übergeben wird, um Fehler beim Datentyp zu verhindern.

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
single

single

some-alt