Python3 assert (Zusicherung)

Document 对象参考手册Python3-Fehler und Ausnahmen

Python assert (Assertion) wird verwendet, um einen Ausdruck auszuwerten, und löst eine Ausnahme aus, wenn die Ausdrucksbedingung falsch ist.

Assertions können direkt einen Fehler zurückgeben, wenn die Bedingungen für den Programmablauf nicht erfüllt sind, ohne darauf warten zu müssen, dass das Programm nach der Ausführung abstürzt. Wenn unser Code beispielsweise nur auf dem Linux-System laufen kann, können wir zuerst prüfen, ob das aktuelle System die Bedingungen erfüllt.

Das Syntaxformat lautet wie folgt:

assert expression

Entspricht:

if not expression:
    raise AssertionError

Auf assert können auch Parameter folgen:

assert expression [, arguments]

Entspricht:

if not expression:
    raise AssertionError(arguments)

Im Folgenden finden sich Beispiele für die Verwendung von assert:

>>> assert True     # Wenn die Bedingung wahr ist, normal ausführen
>>> assert False    # Wenn die Bedingung falsch ist, eine Ausnahme auslösen
Traceback (jüngster Aufruf zuletzt):
  Datei "<stdin>", Zeile 1, in <Modul>
AssertionError
>>> assert 1==1    # Wenn die Bedingung wahr ist, normal ausführen
>>> assert 1==2    # Wenn die Bedingung falsch ist, eine Ausnahme auslösen
Traceback (jüngster Aufruf zuletzt):
  Datei "<stdin>", Zeile 1, in <Modul>
AssertionError

>>> assert 1==2, '1 ist nicht gleich 2'
Traceback (jüngster Aufruf zuletzt):
  Datei "<stdin>", Zeile 1, in <Modul>
AssertionError: 1Nicht gleich2
>>>

Das folgende Beispiel prüft, ob das aktuelle System Linux ist. Wenn die Bedingung nicht erfüllt ist, wird direkt eine Ausnahme ausgelöst, ohne den nachfolgenden Code auszuführen:

Beispiel

import sys
assert ('linux' in sys.platform), "Dieser Code kann nur unter Linux ausgeführt werden"

# Code, der als Nächstes ausgeführt wird

Document 对象参考手册Python3-Fehler und Ausnahmen

Andere Erweiterungen