logo

Python-Assert-Schlüsselwort

Python-Behauptungen In jeder Programmiersprache gibt es Debugging-Tools, die zum reibungslosen Ablauf des Codes beitragen. Bei Behauptungen handelt es sich hauptsächlich um Annahmen, von denen ein Programmierer weiß oder immer wahr sein möchte und die er daher in den Code einfügt, sodass bei einem Fehlschlagen dieser Annahmen eine weitere Ausführung des Codes nicht möglich ist.

Assert-Schlüsselwort in Python

Einfacher ausgedrückt können wir sagen, dass die Behauptung der boolesche Ausdruck ist, der prüft, ob die Aussage wahr oder falsch ist. Wenn die Anweisung wahr ist, führt sie nichts aus und setzt die Ausführung fort. Wenn die Anweisung jedoch falsch ist, stoppt sie die Ausführung des Programms und gibt einen Fehler aus.

Flussdiagramm der Python-Assert-Anweisung

behaupten in Python

Flussdiagramm der Python-Assert-Anweisung



Syntax des Python-Assert-Schlüsselworts

In Python ist die behaupten Schlüsselwort hilft bei der Erfüllung dieser Aufgabe. Diese Anweisung verwendet als Eingabe eine boolesche Bedingung, die, wenn sie „true“ zurückgibt, nichts ausführt und den normalen Ausführungsfluss fortsetzt. Wenn sie jedoch als falsch berechnet wird, löst sie einen AssertionError zusammen mit der optionalen bereitgestellten Nachricht aus.

Syntax : Bedingung bestätigen, error_message (optional)

Parameter:

  • Zustand : Die boolesche Bedingung gibt „true“ oder „false“ zurück.
  • Fehlermeldung : Das optionale Argument, das im Falle eines AssertionError in der Konsole ausgegeben werden soll

Kehrt zurück: Gibt „AssertionError“ zurück, falls die Bedingung „falsch“ ergibt, zusammen mit der Fehlermeldung, die bereitgestellt wird.

Python-Assert-Schlüsselwort ohne Fehlermeldung

Dieser Code versucht, die Verwendung von Assert in Python zu demonstrieren, indem vor der Durchführung einer Divisionsoperation überprüft wird, ob der Wert von b 0 ist. a wird auf den Wert 4 initialisiert und b wird auf den Wert 0 initialisiert. Das Programm gibt die Meldung „Der Wert von a / b ist:“ aus. Die Assertion-Anweisung prüft, ob b ungleich 0 ist. Da b 0 ist, wird die Assert-Anweisung ausgeführt Die Anweisung schlägt fehl und löst einen AssertionError aus.
Da durch die fehlgeschlagene Assert-Anweisung eine Ausnahme ausgelöst wird, wird das Programm beendet und führt die Druckanweisung in der nächsten Zeile nicht weiter aus.

Python3


Java-Switch int



# initializing number> a>=> 4> b>=> 0> # using assert to check for 0> print>(>'The value of a / b is : '>)> assert> b !>=> 0> print>(a>/> b)>

>

>

Ausgabe:

The value of a / b is : --------------------------------------------------------------------------- AssertionError Traceback (most recent call last) Input In [19], in () 8 # using assert to check for 0 9 print('The value of a / b is : ') --->10 Assertion b != 0 11 print(a / b) AssertionError:>

Python-Assert-Schlüsselwort mit einer Fehlermeldung

Dieser Code versucht, die Verwendung von Assert in Python zu demonstrieren, indem vor der Durchführung einer Divisionsoperation überprüft wird, ob der Wert von b 0 ist. a wird auf den Wert 4 initialisiert und b wird auf den Wert 0 initialisiert. Das Programm gibt die Meldung „Der Wert von a / b ist:“ aus. Die Assertion-Anweisung prüft, ob b ungleich 0 ist. Da b 0 ist, wird die Assert-Anweisung ausgeführt Die Anweisung schlägt fehl und löst einen AssertionError mit der Nachricht aus Nullteilungsfehler .
Seit einem Ausnahme durch die fehlgeschlagene Assertion-Anweisung ausgelöst wird, wird das Programm beendet und führt die Druckanweisung in der nächsten Zeile nicht weiter aus.

Python3




# Python 3 code to demonstrate> # working of assert> # initializing number> a>=> 4> b>=> 0> # using assert to check for 0> print>(>'The value of a / b is : '>)> assert> b !>=> 0>,>'Zero Division Error'> print>(a>/> b)>

>

>

Ausgabe:

AssertionError: Zero Division Error>

Innerhalb einer Funktion behaupten

In diesem Beispiel wird die Assert-Anweisung innerhalb einer Funktion verwendet, um zu überprüfen, ob die Länge und Breite eines Rechtecks ​​positiv sind, bevor seine Fläche berechnet wird. Die Behauptung löst einen AssertionError mit der Meldung „Länge und Breite müssen positiv sein“ aus, wenn sie falsch ist. Wenn die Behauptung wahr ist, gibt die Funktion die Fläche des Rechtecks ​​zurück; Wenn es falsch ist, wird es mit einem Fehler beendet. Um zu zeigen, wie Sie „assertion“ in verschiedenen Situationen nutzen können, wird die Funktion zweimal aufgerufen, einmal mit positiven Eingaben und einmal mit negativen Eingaben.

Python3




# Function to calculate the area of a rectangle> def> calculate_rectangle_area(length, width):> ># Assertion to check that the length and width are positive> >assert> length>>0> and> width>>0>,>'Length and width'>+> > >'must be positive'> ># Calculation of the area> >area>=> length>*> width> ># Return statement> >return> area> # Calling the function with positive inputs> area1>=> calculate_rectangle_area(>5>,>6>)> print>(>'Area of rectangle with length 5 and width 6 is'>, area1)> # Calling the function with negative inputs> area2>=> calculate_rectangle_area(>->5>,>6>)> print>(>'Area of rectangle with length -5 and width 6 is'>, area2)>

>

>

Ausgabe:

AssertionError: Length and widthmust be positive>

Mit boolescher Bedingung bestätigen

In diesem Beispiel prüft die Assert-Anweisung, ob die boolesche Bedingung x

Python3




# Initializing variables> x>=> 10> y>=> 20> # Asserting a boolean condition> assert> x # Printing the values of x and y print('x =', x) print('y =', y)>

>

>

Ausgabe:

x = 10 y = 20>

Bestätigen Sie den Variablentyp in Python

In diesem Beispiel prüfen die Assert-Anweisungen, ob die Typen der Variablen a und b str bzw. int sind. Wenn eine der Behauptungen fehlschlägt, wird ein AssertionError ausgelöst. Wenn beide Behauptungen erfolgreich sind, fährt das Programm fort und gibt die Werte von a und b aus.

Python3




# Initializing variables> a>=> 'hello'> b>=> 42> # Asserting the type of a variable> assert> type>(a)>=>=> str> assert> type>(b)>=>=> int> # Printing the values of a and b> print>(>'a ='>, a)> print>(>'b ='>, b)>

>

>

Ausgabe:

a = hello b = 42>

Wörterbuchwerte geltend machen

In diesem Beispiel prüfen die Assertion-Anweisungen, ob die mit den Schlüsseln apple, banane und Cherry im Wörterbuch my_dict verknüpften Werte 1, 2 bzw. 3 sind. Wenn eine der Behauptungen fehlschlägt, wird ein AssertionError ausgelöst. Wenn alle Behauptungen erfolgreich sind, fährt das Programm fort und gibt den Inhalt des Wörterbuchs aus.

Konstruktor in Java

Python3




# Initializing a dictionary> my_dict>=> {>'apple'>:>1>,>'banana'>:>2>,>'cherry'>:>3>}> # Asserting the contents of the dictionary> assert> my_dict[>'apple'>]>=>=> 1> assert> my_dict[>'banana'>]>=>=> 2> assert> my_dict[>'cherry'>]>=>=> 3> # Printing the dictionary> print>(>'My dictionary contains the following key-value pairs:'>, my_dict)>

>

>

Ausgabe:

My dictionary contains the following key-value pairs: {'apple': 1, 'banana': 2, 'cherry': 3}>

Praktische Anwendung

Dies hat einen viel größeren Nutzen für die Test- und Qualitätssicherungsfunktionen in jedem Entwicklungsbereich. Je nach Anwendung werden unterschiedliche Arten von Behauptungen verwendet. Unten sehen Sie eine einfachere Demonstration eines Programms, das nur den Versand der Charge mit allen warmen Speisen zulässt, andernfalls die gesamte Charge ablehnt.

Python3




# Python 3 code to demonstrate> # working of assert> # Application> # initializing list of foods temperatures> batch>=> [>40>,>26>,>39>,>30>,>25>,>21>]> # initializing cut temperature> cut>=> 26> # using assert to check for temperature greater than cut> for> i>in> batch:> >assert> i>>=> 26>,>'Batch is Rejected'> >print> (>str>(i)>+> ' is O.K'> )>

>

>

Ausgabe:

40 is O.K 26 is O.K 39 is O.K 30 is O.K>

Laufzeitausnahme:

AssertionError: Batch is Rejected>

Warum die Python-Assert-Anweisung verwenden?

In Python ist die Assert-Anweisung ein leistungsstarkes Debugging-Tool, das dabei helfen kann, Fehler zu identifizieren und sicherzustellen, dass Ihr Code wie vorgesehen funktioniert. Hier sind mehrere Begründungen für die Verwendung von „asser“:

  1. Debuggen: Die von Ihrem Code getroffenen Annahmen können mit der Assert-Anweisung überprüft werden. Sie können Fehler schnell finden und Ihr Programm debuggen, indem Sie im gesamten Code Assert-Anweisungen platzieren.
  2. Dokumentation: Die Verwendung von Assert-Anweisungen in Ihrem Code kann als Dokumentation dienen. Assert-Anweisungen machen es für andere einfacher, Ihren Code zu verstehen und mit ihm zu arbeiten, da sie explizit die Annahmen beschreiben, die Ihr Code trifft.
  3. Testen: Um sicherzustellen, dass bestimmte Anforderungen erfüllt werden, werden bei Unit-Tests häufig Assert-Anweisungen verwendet. Sie können sicherstellen, dass Ihr Code ordnungsgemäß funktioniert und dass alle von Ihnen vorgenommenen Änderungen die aktuelle Funktionalität nicht beeinträchtigen, indem Sie Assert-Anweisungen in Ihre Tests integrieren.
  4. Sicherheit: Mit „assert“ können Sie prüfen, ob Programmeingaben den Anforderungen entsprechen, und diese validieren. Dadurch können Sicherheitslücken wie Pufferüberläufe und SQL-Injection-Angriffe vermieden werden.