Python hevder nøkkelord
Python-påstander i alle programmeringsspråk er feilsøkingsverktøyene som hjelper til med jevn flyt av kode. Påstander er hovedsakelig antakelser som en programmerer vet eller alltid vil være sanne, og som derfor setter dem i kode slik at svikt i disse ikke lar koden kjøre videre.
Bekreft nøkkelord i Python
I enklere termer kan vi si at påstand er det boolske uttrykket som sjekker om utsagnet er sant eller usant. Hvis setningen er sann, gjør den ingenting og fortsetter kjøringen, men hvis setningen er falsk, stopper den kjøringen av programmet og gir en feil.
Flytskjema for Python Assert Statement
Flytskjema for Python Assert Statement
Python hevder søkeordsyntaks
I Python er hevde nøkkelord hjelper med å oppnå denne oppgaven. Denne setningen tar som input en boolsk tilstand, som når den returnerer true ikke gjør noe og fortsetter den normale kjøringen, men hvis den beregnes til å være usann, fremkaller den en AssertionError sammen med den valgfrie meldingen.
Syntaks: hevde tilstand, feilmelding (valgfritt)
Parametere:
- betingelse : Den boolske tilstanden returnerer sann eller usann.
- feilmelding : Det valgfrie argumentet som skal skrives ut i konsollen i tilfelle AssertionError
Returnerer: Returnerer AssertionError, i tilfelle tilstanden evalueres til usann sammen med feilmeldingen som ble gitt.
Python hevder nøkkelord uten feilmelding
Denne koden prøver å demonstrere bruken av assert i Python ved å sjekke om verdien av b er 0 før du utfører en divisjonsoperasjon. a initialiseres til verdien 4, og b initialiseres til verdien 0. Programmet skriver ut meldingen. Verdien av a / b er: .Assert-setningen sjekker om b ikke er lik 0. Siden b er 0, vil assert setningen mislykkes og reiser en AssertionError.
Siden et unntak oppstår av den mislykkede assert-setningen, avsluttes programmet og fortsetter ikke å utføre print-setningen på neste 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)> |
Produksjon:
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 hevder nøkkelord med en feilmelding
Denne koden prøver å demonstrere bruken av assert i Python ved å sjekke om verdien av b er 0 før du utfører en divisjonsoperasjon. a initialiseres til verdien 4, og b initialiseres til verdien 0. Programmet skriver ut meldingen. Verdien av a / b er: .Assert-setningen sjekker om b ikke er lik 0. Siden b er 0, vil assert setningen mislykkes og reiser en AssertionError med meldingen Nulldelingsfeil .
Siden en unntak er hevet av den mislykkede assert-setningen, avsluttes programmet og fortsetter ikke å utføre print-setningen på neste 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)> |
Produksjon:
AssertionError: Zero Division Error
Påstå inne i en funksjon
Assert-setningen brukes i en funksjon i dette eksemplet for å bekrefte at et rektangels lengde og bredde er positive før området beregnes. Påstanden reiser en AssertionError med meldingen Length and width må være positiv hvis den er usann. Hvis påstanden er sann, returnerer funksjonen rektangelets areal; hvis den er usann, avsluttes den med en feil. For å vise hvordan man kan bruke assert i ulike situasjoner, kalles funksjonen to ganger, é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)> |
Produksjon:
AssertionError: Length and widthmust be positive
Assert med boolsk tilstand
I dette eksemplet sjekker assert-setningen om den boolske betingelsen 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)> |
Produksjon:
x = 10 y = 20
Bekreft type variabel i Python
I dette eksemplet sjekker assert-setningene om typene av variablene a og b er henholdsvis str og int. Hvis noen av påstandene mislykkes, oppstår en AssertionError. Hvis begge påstandene passer, fortsetter programmet og skriver ut verdiene til 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)> |
Produksjon:
a = hello b = 42
Å hevde ordbokverdier
I dette eksemplet sjekker assert-setningene om verdiene knyttet til nøklene eple, banan og kirsebær i ordboken my_dict er henholdsvis 1, 2 og 3. Hvis noen av påstandene mislykkes, oppstår en AssertionError. Hvis alle påstander passerer, fortsetter programmet og skriver ut innholdet i ordboken.
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)> |
Produksjon:
My dictionary contains the following key-value pairs: {'apple': 1, 'banana': 2, 'cherry': 3} Praktisk anvendelse
Dette har en mye større nytte i test- og kvalitetssikringsrollene i ethvert utviklingsdomene. Ulike typer påstander brukes avhengig av applikasjonen. Nedenfor er en enklere demonstrasjon av et program som bare lar bare partiet med all varm mat sendes, ellers avviser 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'> )> |
Produksjon:
40 is O.K 26 is O.K 39 is O.K 30 is O.K
Runtime Unntak:
AssertionError: Batch is Rejected
Hvorfor bruke Python Assert Statement?
I Python er assert-setningen et kraftig feilsøkingsverktøy som kan hjelpe til med å identifisere feil og sikre at koden din fungerer etter hensikten. Her er flere begrunnelser for bruk av assert:
- Feilsøking: Forutsetninger gjort av koden din kan verifiseres med påstandserklæringen. Du kan raskt finne feil og feilsøke programmet ditt ved å plassere assert-setninger gjennom hele koden.
- Dokumentasjon: Bruken av assert-setninger i koden din kan fungere som dokumentasjon. Påstandsutsagn gjør det enklere for andre å forstå og arbeide med koden din, siden de eksplisitt beskriver forutsetningene som koden din gjør.
- Testing: For å sikre at visse krav oppfylles, brukes påstandsutsagn ofte i enhetstesting. Du kan forsikre deg om at koden din fungerer som den skal, og at eventuelle endringer du gjør ikke skader gjeldende funksjonalitet ved å inkludere påstandssetninger i testene dine.
- Sikkerhet: Du kan bruke assert for å sjekke at programinndata samsvarer med kravene og validere dem. Ved å gjøre det kan sikkerhetsfeil som bufferoverløp og SQL-injeksjonsangrep unngås.