Python hævde nøgleord

Python hævde nøgleord

Python-påstande i et hvilket som helst programmeringssprog er fejlfindingsværktøjerne, der hjælper med en jævn strøm af kode. Påstande er hovedsageligt antagelser, som en programmør ved eller altid ønsker at være sande og derfor sætter dem i kode, så fejl i disse ikke tillader koden at eksekvere yderligere.

Angiv nøgleord i Python

I enklere vendinger kan vi sige, at påstand er det boolske udtryk, der kontrollerer, om udsagnet er sandt eller falsk. Hvis sætningen er sand, gør den ingenting og fortsætter udførelsen, men hvis sætningen er falsk, stopper den udførelsen af ​​programmet og kaster en fejl.

Flowchart af Python Assert Statement

hævde i Python

Flowchart af Python Assert Statement

Python hævder søgeordssyntaks

I Python er hævde nøgleord hjælper med at udføre denne opgave. Denne sætning tager som input en boolsk tilstand, som, når den returnerer sand, ikke gør noget og fortsætter den normale udførelsesstrøm, men hvis den beregnes til at være falsk, fremkalder den en AssertionError sammen med den valgfrie meddelelse, der leveres.

Syntaks: hævde betingelse, fejlmeddelelse (valgfrit)

Parametre:

  • tilstand : Den boolske betingelse returnerer sand eller falsk.
  • fejl besked : Det valgfri argument, der skal udskrives i konsollen i tilfælde af AssertionError

Vender tilbage: Returnerer AssertionError, hvis betingelsen evalueres til falsk sammen med fejlmeddelelsen, som når den er angivet.

Python hævder nøgleord uden fejlmeddelelse

Denne kode forsøger at demonstrere brugen af ​​assert i Python ved at kontrollere, om værdien af ​​b er 0, før du udfører en divisionsoperation. a initialiseres til værdien 4, og b initialiseres til værdien 0. Programmet udskriver meddelelsen Værdien af ​​a / b er: .Assert-sætningen kontrollerer, om b ikke er lig med 0. Da b er 0, er assert sætning mislykkes og rejser en AssertionError.
Da en undtagelse er rejst af den mislykkede assert-sætning, afsluttes programmet og fortsætter ikke med at udføre print-sætningen på næste linje.

Python3




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

Produktion:

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 hævder nøgleord med en fejlmeddelelse

Denne kode forsøger at demonstrere brugen af ​​assert i Python ved at kontrollere, om værdien af ​​b er 0, før du udfører en divisionsoperation. a initialiseres til værdien 4, og b initialiseres til værdien 0. Programmet udskriver meddelelsen Værdien af ​​a / b er: .Assert-sætningen kontrollerer, om b ikke er lig med 0. Da b er 0, er assert sætning mislykkes og rejser en AssertionError med meddelelsen Nuldelingsfejl .
Siden en undtagelse er rejst af den mislykkede assert-sætning, afsluttes programmet og fortsætter ikke med at udføre print-sætningen på næste linje.

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

Produktion:

AssertionError: Zero Division Error 

Hævde inde i en funktion

Assert-sætningen bruges i en funktion i dette eksempel til at verificere, at et rektangels længde og bredde er positive, før dets areal beregnes. Påstanden rejser en AssertionError med meddelelsen Length and width skal være positiv, hvis den er falsk. Hvis påstanden er sand, returnerer funktionen rektanglets areal; hvis den er falsk, afsluttes den med en fejl. For at vise, hvordan man kan bruge assert i forskellige situationer, kaldes funktionen to gange, én gang med positive input og én gang med negative input.

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

Produktion:

AssertionError: Length and widthmust be positive 

Assert med boolesk tilstand

I dette eksempel kontrollerer assert-sætningen, om den boolske betingelse 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)>

Produktion:

x = 10 y = 20 

Angiv variabeltype i Python

I dette eksempel kontrollerer assert-sætningerne, om typerne af variablerne a og b er henholdsvis str og int. Hvis nogen af ​​påstandene mislykkes, rejser det en AssertionError. Hvis begge påstande bestå, fortsætter programmet og udskriver værdierne af a og 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)>

Produktion:

a = hello b = 42 

Påstand om ordbogsværdier

I dette eksempel kontrollerer assert-sætningerne, om værdierne forbundet med nøglerne æble, banan og kirsebær i ordbogen my_dict er henholdsvis 1, 2 og 3. Hvis nogen af ​​påstandene mislykkes, rejser det en AssertionError. Hvis alle påstande bestå, fortsætter programmet og udskriver indholdet af ordbogen.

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

Produktion:

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

Praktisk ansøgning

Dette har en meget større nytte i test- og kvalitetssikringsrollerne i ethvert udviklingsdomæne. Forskellige typer påstande bruges afhængigt af applikationen. Nedenfor er en enklere demonstration af et program, der kun tillader, at kun partiet med al varm mad kan sendes, ellers afviser hele partiet.

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

Produktion:

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

Runtime Undtagelse:

AssertionError: Batch is Rejected 

Hvorfor bruge Python Assert Statement?

I Python er assert-sætningen et potent debugging-værktøj, der kan hjælpe med at identificere fejl og sikre, at din kode fungerer efter hensigten. Her er flere begrundelser for at bruge assert:

  1. Fejlretning: Antagelser lavet af din kode kan verificeres med påstandserklæringen. Du kan hurtigt finde fejl og fejlsøge dit program ved at placere assert-sætninger i hele din kode.
  2. Dokumentation: Brugen af ​​assert-udsagn i din kode kan fungere som dokumentation. Påstandsudsagn gør det nemmere for andre at forstå og arbejde med din kode, da de eksplicit beskriver de antagelser, som din kode gør.
  3. Test: For at sikre, at visse krav er opfyldt, anvendes assert-udsagn ofte i enhedstestning. Du kan sikre dig, at din kode fungerer korrekt, og at eventuelle ændringer, du foretager, ikke skader den nuværende funktionalitet ved at inkorporere assert-udsagn i dine tests.
  4. Sikkerhed: Du kan bruge assert til at kontrollere, at programinput overholder kravene og validere dem. Ved at gøre det kan sikkerhedsfejl som bufferoverløb og SQL-injektionsangreb undgås.