logo

Cuvânt cheie Python assert

Afirmații Python în orice limbaj de programare sunt instrumentele de depanare care ajută la curgerea lină a codului. Afirmațiile sunt în principal presupuneri că un programator știe sau dorește întotdeauna să fie adevărate și, prin urmare, le pune în cod, astfel încât eșecul acestora să nu permită executarea mai departe a codului.

Afirmați cuvântul cheie în Python

În termeni mai simpli, putem spune că aserțiunea este expresia booleană care verifică dacă afirmația este adevărată sau falsă. Dacă declarația este adevărată, atunci nu face nimic și continuă execuția, dar dacă declarația este False, atunci oprește execuția programului și aruncă o eroare.

Diagrama de flux a declarației Python Assert

afirmă în Python

Diagrama de flux a declarației Python Assert



Sintaxa cuvântului cheie Python assert

În Python, afirma cuvântul cheie ajută la îndeplinirea acestei sarcini. Această instrucțiune ia ca intrare o condiție booleană, care, atunci când returnează adevărat, nu face nimic și continuă fluxul normal de execuție, dar dacă este calculată ca fiind falsă, atunci generează o AssertionError împreună cu mesajul opțional furnizat.

Sintaxa: assert condition, error_message (opțional)

Parametri:

  • condiție : Condiția booleană returnează adevărat sau fals.
  • mesaj de eroare : Argumentul opțional care trebuie tipărit în consolă în cazul AssertionError

Se intoarce: Returnează AssertionError, în cazul în care condiția este evaluată ca falsă împreună cu mesajul de eroare care este furnizat.

Python assert cuvânt cheie fără mesaj de eroare

Acest cod încearcă să demonstreze utilizarea assert în Python verificând dacă valoarea lui b este 0 înainte de a efectua o operație de divizare. a este inițializat la valoarea 4, iar b este inițializat la valoarea 0. Programul imprimă mesajul Valoarea lui a / b este: .Instrucțiunea assert verifică dacă b nu este egal cu 0. Deoarece b este 0, asertul declarația eșuează și generează o AssertionError.
Deoarece o excepție este ridicată de instrucțiunea assert eșuată, programul se termină și nu continuă să execute instrucțiunea print pe linia următoare.

Python3


shilpa Shetty vârsta



# 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)>

>

>

Ieșire:

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 assert b != 0 11 print(a / b) AssertionError:>

Python assert cuvânt cheie cu un mesaj de eroare

Acest cod încearcă să demonstreze utilizarea assert în Python verificând dacă valoarea lui b este 0 înainte de a efectua o operație de divizare. a este inițializat la valoarea 4, iar b este inițializat la valoarea 0. Programul imprimă mesajul Valoarea lui a / b este: .Instrucțiunea assert verifică dacă b nu este egal cu 0. Deoarece b este 0, asertul declarația eșuează și generează o AssertionError cu mesajul Eroare de diviziune zero .
De când an excepție este generată de instrucțiunea assert eșuată, programul se termină și nu continuă să execute instrucțiunea print pe linia următoare.

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)>

>

>

Ieșire:

AssertionError: Zero Division Error>

Afirmați în interiorul unei funcții

Declarația assert este utilizată în interiorul unei funcții în acest exemplu pentru a verifica dacă lungimea și lățimea unui dreptunghi sunt pozitive înainte de a-și calcula aria. Afirmația generează o AssertionError cu mesajul Lungimea și lățimea trebuie să fie pozitive dacă este falsă. Dacă afirmația este adevărată, funcția returnează aria dreptunghiului; dacă este fals, iese cu o eroare. Pentru a arăta cum să utilizați assert în diferite situații, funcția este numită de două ori, o dată cu intrări pozitive și o dată cu intrări negative.

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>>>>and> width>>>>,>'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)>

>

>

Ieșire:

AssertionError: Length and widthmust be positive>

Afirmați cu condiție booleană

În acest exemplu, instrucțiunea assert verifică dacă condiția booleană 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)>

>

>

Ieșire:

x = 10 y = 20>

Afirmați tipul de variabilă în Python

În acest exemplu, instrucțiunile assert verifică dacă tipurile variabilelor a și b sunt str și, respectiv, int. Dacă vreuna dintre afirmații eșuează, se afișează o AssertionError. Dacă ambele afirmații trec, programul continuă și imprimă valorile lui a și b.

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)>

>

>

Ieșire:

a = hello b = 42>

Afirmarea valorilor de dicționar

În acest exemplu, instrucțiunile assert verifică dacă valorile asociate cu cheile apple, banana și cherry din dicționar my_dict sunt 1, 2 și, respectiv, 3. Dacă vreuna dintre afirmații eșuează, se afișează o AssertionError. Dacă toate afirmațiile trec, programul continuă și imprimă conținutul dicționarului.

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)>

>

lung de înşirat

>

Ieșire:

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

Aplicație practică

Aceasta are o utilitate mult mai mare în rolurile de testare și asigurare a calității în orice domeniu de dezvoltare. Sunt utilizate diferite tipuri de aserțiuni în funcție de aplicație. Mai jos este o demonstrație mai simplă a unui program care permite doar expedierea numai a lotului cu toate alimentele fierbinți, altfel respinge întregul lot.

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'> )>

>

>

Ieșire:

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

Excepție de rulare:

AssertionError: Batch is Rejected>

De ce să folosiți declarația Python Assert?

În Python, declarația assert este un instrument puternic de depanare care poate ajuta la identificarea greșelilor și la asigurarea faptului că codul dumneavoastră funcționează conform intenției. Iată câteva justificări pentru utilizarea assert:

  1. Depanare: Ipotezele făcute de codul dvs. pot fi verificate cu declarația assert. Puteți găsi rapid greșeli și vă depanați programul prin plasarea declarațiilor assert în codul dvs.
  2. Documentație: Utilizarea declarațiilor assert în codul dvs. poate acționa ca documentație. Declarațiile Assert fac mai ușor pentru alții să înțeleagă și să lucreze cu codul dvs., deoarece descriu în mod explicit ipotezele pe care le face codul dvs.
  3. Testare: Pentru a se asigura că anumite cerințe sunt îndeplinite, declarațiile assert sunt frecvent utilizate în testarea unitară. Vă puteți asigura că codul dvs. funcționează corect și că orice modificări pe care le faceți nu dăunează funcționalității curente prin încorporarea declarațiilor assert în teste.
  4. Securitate: Puteți folosi assert pentru a verifica dacă intrările programului respectă cerințele și pentru a le valida. Procedând astfel, defectele de securitate, cum ar fi depășirile de buffer și atacurile de injecție SQL pot fi evitate.