Python-assert-avainsana

Python-assert-avainsana

Pythonin väitteet missä tahansa ohjelmointikielessä ovat virheenkorjaustyökalut, jotka auttavat koodin sujuvassa kulkussa. Väitteet ovat pääasiassa oletuksia, joiden mukaan ohjelmoija tietää tai haluaa aina olla totta ja laittaa ne siten koodiin, jotta näiden epäonnistuminen ei salli koodin suorittamista edelleen.

Vahvista avainsana Pythonissa

Yksinkertaisemmin sanottuna voidaan sanoa, että väite on boolen lauseke, joka tarkistaa, onko väite tosi vai epätosi. Jos lause on tosi, se ei tee mitään ja jatkaa suoritusta, mutta jos lause on Epätosi, se pysäyttää ohjelman suorittamisen ja antaa virheen.

Python Assert Statementin vuokaavio

väittää Pythonissa

Python Assert Statementin vuokaavio

Python-avainsanan syntaksi

Pythonissa, väittää avainsana auttaa tämän tehtävän saavuttamisessa. Tämä lauseke ottaa syötteenä loogisen ehdon, joka palauttaessaan arvon tosi ei tee mitään ja jatkaa normaalia suorituskulkua, mutta jos se lasketaan epätosi, se herättää AssertionError-ilmoituksen yhdessä valinnaisen sanoman kanssa.

Syntaksi : vahvista ehto, error_message (valinnainen)

Parametrit:

  • kunto: Boolen ehto, joka palauttaa tosi tai epätosi.
  • virheviesti : Valinnainen argumentti, joka tulostetaan konsoliin AssertionError-tilanteessa

Palautukset: Palauttaa AssertionError, jos ehto arvioi epätosi sekä virhesanoman, joka on annettu.

Python-assert-avainsana ilman virheilmoitusta

Tämä koodi yrittää osoittaa assertin käyttöä Pythonissa tarkistamalla, onko b:n arvo 0 ennen jakotoiminnon suorittamista. a alustetaan arvoon 4 ja b arvoon 0. Ohjelma tulostaa viestin. A / b:n arvo on: . Väitelause tarkistaa, onko b erisuuri kuin 0. Koska b on 0, väittämä lauseke epäonnistuu ja aiheuttaa AssertionError-ilmoituksen.
Koska epäonnistunut assert-käsky aiheuttaa poikkeuksen, ohjelma päättyy eikä jatka print-käskyn suorittamista seuraavalla rivillä.

Python 3




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

Lähtö:

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 väittämä b != 0 11 tulosta(a / b) AssertionError:>>   

Python-assert-avainsana virheilmoituksella

Tämä koodi yrittää osoittaa assertin käyttöä Pythonissa tarkistamalla, onko b:n arvo 0 ennen jakotoiminnon suorittamista. a alustetaan arvoon 4 ja b arvoon 0. Ohjelma tulostaa viestin. A / b:n arvo on: . Väitelause tarkistaa, onko b erisuuri kuin 0. Koska b on 0, väittämä lauseke epäonnistuu ja aiheuttaa AssertionError-ilmoituksen sanoman kanssa Nollajakovirhe .
Siitä lähtien poikkeus epäonnistunut assert-käsky herättää, ohjelma päättyy eikä jatka print-käskyn suorittamista seuraavalla rivillä.

Python 3




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

Lähtö:

AssertionError: Zero Division Error 

Toteuta funktion sisällä

Assert-lausetta käytetään tässä esimerkissä funktion sisällä varmistamaan, että suorakulmion pituus ja leveys ovat positiivisia ennen sen pinta-alan laskemista. Väite herättää AssertionError-ilmoituksen, jonka sanoman pituus ja leveys on oltava positiivisia, jos ne ovat epätosi. Jos väite on tosi, funktio palauttaa suorakulmion alueen; jos se on epätosi, se poistuu virheestä. Assertin hyödyntämisen osoittamiseksi eri tilanteissa funktiota kutsutaan kahdesti, kerran positiivisilla tuloilla ja kerran negatiivisilla tuloilla.

Python 3




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

Lähtö:

AssertionError: Length and widthmust be positive 

Väite loogisella ehdolla

Tässä esimerkissä assert-lause tarkistaa, onko boolen ehto x

Python 3




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

Lähtö:

x = 10 y = 20 

Vahvista muuttujan tyyppi Pythonissa

Tässä esimerkissä assert-lauseet tarkistavat, ovatko muuttujien a ja b tyypit str ja int. Jos jokin väitteistä epäonnistuu, se aiheuttaa AssertionError-ilmoituksen. Jos molemmat väitteet hyväksytään, ohjelma jatkaa ja tulostaa a:n ja b:n arvot.

Python 3




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

Lähtö:

a = hello b = 42 

Sanakirjan arvojen vahvistaminen

Tässä esimerkissä väitteet tarkistavat, ovatko sanakirjan my_dict avaimiin omena, banaani ja kirsikka liittyvät arvot 1, 2 ja 3. Jos jokin väitteistä epäonnistuu, se aiheuttaa AssertionError-ilmoituksen. Jos kaikki väitteet hyväksytään, ohjelma jatkaa ja tulostaa sanakirjan sisällön.

Python 3




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

Lähtö:

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

Käytännön sovellus

Tästä on paljon enemmän hyötyä testaus- ja laadunvarmistusrooleissa kaikilla kehitysalueilla. Erilaisia ​​väitteitä käytetään sovelluksesta riippuen. Alla on yksinkertaisempi esittely ohjelmasta, joka sallii vain lämpimien ruokien lähettämisen, muuten hylkää koko erän.

Python 3




# 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>>> > print> (> str> (i)> +> ' is O.K'> )>

Lähtö:

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

Kestoaikapoikkeus:

AssertionError: Batch is Rejected 

Miksi käyttää Python Assert -lausetta?

Pythonissa assert-lause on tehokas virheenkorjaustyökalu, joka voi auttaa tunnistamaan virheet ja varmistamaan, että koodisi toimii tarkoitetulla tavalla. Tässä on useita perusteita väitteen käytölle:

  1. Virheenkorjaus: Koodisi tekemät oletukset voidaan vahvistaa väitteellä. Saatat löytää nopeasti virheitä ja tehdä virheenkorjauksen ohjelmassasi sijoittamalla vahvistuslausekkeita koko koodiin.
  2. Dokumentointi: Assert-lauseiden käyttö koodissasi saattaa toimia dokumenttina. Väitelausekkeet helpottavat koodisi ymmärtämistä ja käyttöä, koska ne kuvaavat selkeästi koodisi tekemiä oletuksia.
  3. Testaus: Tiettyjen vaatimusten täyttymisen varmistamiseksi yksikkötestauksessa käytetään usein väitteitä. Voit varmistaa, että koodisi toimii oikein ja että tekemäsi muutokset eivät vahingoita nykyistä toimivuutta sisällyttämällä testiisi väitteitä.
  4. Turvallisuus: Assertin avulla voit tarkistaa, että ohjelmasyötteet ovat vaatimusten mukaisia, ja vahvistaa ne. Tällä tavoin voidaan välttää tietoturvavirheet, kuten puskurin ylivuoto ja SQL-injektiohyökkäykset.