Python trditve v katerem koli programskem jeziku so orodja za odpravljanje napak, ki pomagajo pri gladkem pretoku kode. Trditve so v glavnem predpostavke, za katere programer ve ali vedno želi, da so resnične, in jih zato umesti v kodo, tako da napaka teh ne dovoli nadaljnjega izvajanja kode.
Uveljavi ključno besedo v Pythonu
Preprosteje povedano, lahko rečemo, da je trditev logični izraz, ki preverja, ali je izjava resnična ali napačna. Če je stavek resničen, potem ne naredi ničesar in nadaljuje z izvajanjem, če pa je stavek False, ustavi izvajanje programa in vrže napako.
Diagram poteka izjave Python Assert

Diagram poteka izjave Python Assert
Sintaksa ključne besede Python assert
V Pythonu je trditi ključna beseda pomaga pri doseganju te naloge. Ta stavek sprejme kot vhod logični pogoj, ki, ko vrne true, ne naredi ničesar in nadaljuje običajni tok izvajanja, če pa se izračuna, da je napačen, sproži AssertionError skupaj z izbirnim sporočilom.
Sintaksa: potrdi pogoj, sporočilo o napaki (neobvezno)
Parametri:
- stanje: Logični pogoj, ki vrne true ali false.
- obvestilo o napaki : Izbirni argument, ki se natisne v konzoli v primeru AssertionError
Vrne: Vrne AssertionError, če je pogoj ovrednoten kot false skupaj s sporočilom o napaki, ki je na voljo.
Ključna beseda Python assert brez sporočila o napaki
Ta koda poskuša prikazati uporabo assert v Pythonu s preverjanjem, ali je vrednost b enaka 0, preden izvede operacijo deljenja. a je inicializiran na vrednost 4, b pa je inicializiran na vrednost 0. Program natisne sporočilo Vrednost a / b je: .Stavek assert preveri, ali b ni enak 0. Ker je b 0, je assert izjava ne uspe in sproži AssertionError.
Ker neuspeli stavek assert sproži izjemo, se program zaključi in ne nadaljuje z izvajanjem stavka za tiskanje v naslednji vrstici.
Python3
js polje
# 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)> |
>
>
Izhod:
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:>
Ključna beseda Python assert s sporočilom o napaki
Ta koda poskuša prikazati uporabo assert v Pythonu s preverjanjem, ali je vrednost b enaka 0, preden izvede operacijo deljenja. a je inicializiran na vrednost 4, b pa je inicializiran na vrednost 0. Program natisne sporočilo Vrednost a / b je: .Stavek assert preveri, ali b ni enak 0. Ker je b 0, je assert stavek ne uspe in sproži AssertionError s sporočilom Napaka ničelnega deljenja .
Od an izjema sproži neuspeli stavek assert, se program zaključi in ne nadaljuje z izvajanjem stavka za tiskanje v naslednji vrstici.
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)> |
>
>
Izhod:
AssertionError: Zero Division Error>
Uveljavi znotraj funkcije
Stavek assert se v tem primeru uporablja znotraj funkcije za preverjanje, ali sta dolžina in širina pravokotnika pozitivni, preden se izračuna njegova površina. Trditev sproži AssertionError s sporočilom Dolžina in širina morata biti pozitivni, če je napačna. Če je trditev resnična, funkcija vrne površino pravokotnika; če je false, se zapre z napako. Da pokažemo, kako uporabiti assert v različnih situacijah, se funkcija dvakrat pokliče, enkrat s pozitivnimi in enkrat z negativnimi vhodi.
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)> |
>
>
Izhod:
AssertionError: Length and widthmust be positive>
Uveljavi z logičnim pogojem
V tem primeru stavek assert preveri, ali je logični pogoj 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)> |
>
>
Izhod:
x = 10 y = 20>
Uveljavi vrsto spremenljivke v Pythonu
V tem primeru stavki assert preverjajo, ali sta tipa spremenljivk a in b str oziroma int. Če katera od trditev ne uspe, sproži AssertionError. Če sta obe trditvi uspešni, program nadaljuje in natisne vrednosti a in 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)> |
>
>
Izhod:
a = hello b = 42>
Uveljavljanje slovarskih vrednosti
V tem primeru trditveni stavki preverjajo, ali so vrednosti, povezane s ključi jabolko, banana in češnja v slovarju my_dict, 1, 2 oziroma 3. Če katera od trditev ne uspe, sproži AssertionError. Če so vse trditve uspešne, program nadaljuje in natisne vsebino slovarja.
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)> |
>
>
Izhod:
My dictionary contains the following key-value pairs: {'apple': 1, 'banana': 2, 'cherry': 3}>
Praktična uporaba
To ima veliko večjo uporabnost v vlogah testiranja in zagotavljanja kakovosti v kateri koli razvojni domeni. Glede na aplikacijo se uporabljajo različne vrste trditev. Spodaj je enostavnejša predstavitev programa, ki dovoli odpremo samo serije z vsemi toplimi živili, drugače zavrne celotno serijo.
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'> )> |
funkcija python chr
>
>
Izhod:
40 is O.K 26 is O.K 39 is O.K 30 is O.K>
Izjema med izvajanjem:
AssertionError: Batch is Rejected>
Zakaj uporabljati izjavo Python Assert?
V Pythonu je izjava assert močno orodje za odpravljanje napak, ki lahko pomaga pri prepoznavanju napak in zagotavljanju, da vaša koda deluje, kot je predvideno. Tukaj je več utemeljitev za uporabo assert:
- Odpravljanje napak: Predpostavke vaše kode je mogoče preveriti z izjavo trditve. Lahko hitro najdete napake in razhroščite svoj program tako, da v svojo kodo postavite trditvene izjave.
- Dokumentacija: Uporaba trditvenih stavkov v vaši kodi lahko deluje kot dokumentacija. Stavki Assert drugim olajšajo razumevanje in delo z vašo kodo, saj izrecno opisujejo predpostavke, ki jih vaša koda ustvarja.
- Testiranje: Da bi zagotovili izpolnjevanje določenih zahtev, se pri testiranju enote pogosto uporabljajo izjave o trditvah. Prepričate se lahko, da vaša koda deluje pravilno in da morebitne spremembe, ki jih naredite, ne poškodujejo trenutne funkcionalnosti, tako da v svoje teste vključite trditvene izjave.
- Varnost: Za preverjanje skladnosti vnosov programa z zahtevami in njihovo validacijo lahko uporabite assert. S tem se je mogoče izogniti varnostnim napakam, kot so prelivanje medpomnilnika in napadi z vbrizgavanjem SQL.