logo

Python assert paraula clau

Afirmacions de Python en qualsevol llenguatge de programació hi ha les eines de depuració que ajuden a la fluïdesa del codi. Les afirmacions són principalment suposicions que un programador sap o sempre vol ser vertaderes i, per tant, les posa en codi de manera que el fracàs d'aquestes no permeti que el codi s'executi més.

Assert Keyword en Python

En termes més senzills, podem dir que l'asserció és l'expressió booleana que verifica si l'enunciat és Vertader o Fals. Si la declaració és certa, no fa res i continua l'execució, però si la declaració és Falsa, atura l'execució del programa i genera un error.

Diagrama de flux de la declaració d'afirmació de Python

afirmar en Python

Diagrama de flux de la declaració d'afirmació de Python



Sintaxi de la paraula clau Python assert

A Python, el afirmar paraula clau ajuda a aconseguir aquesta tasca. Aquesta declaració pren com a entrada una condició booleana, que quan retorna true no fa res i continua el flux normal d'execució, però si es calcula que és falsa, genera un AssertionError juntament amb el missatge opcional proporcionat.

Sintaxi: assert condition, error_message (opcional)

Paràmetres:

  • condició: La condició booleana que retorna vertader o fals.
  • missatge d'error : L'argument opcional que s'imprimirà a la consola en cas d'AssertionError

Devolucions: Retorna AssertionError, en cas que la condició s'avaluï com a falsa juntament amb el missatge d'error que es proporciona.

Python assert paraula clau sense missatge d'error

Aquest codi intenta demostrar l'ús d'assert a Python comprovant si el valor de b és 0 abans de realitzar una operació de divisió. a s'inicia al valor 4 i b s'inicia al valor 0. El programa imprimeix el missatge El valor de a / b és: .La sentència assert verifica si b no és igual a 0. Com que b és 0, l'assert La declaració falla i genera un AssertionError.
Com que la instrucció d'assert fallida genera una excepció, el programa finalitza i no continua executant la instrucció d'impressió a la línia següent.

Python 3


patrons de programari java



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

>

>

Sortida:

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 paraula clau amb un missatge d'error

Aquest codi intenta demostrar l'ús d'assert a Python comprovant si el valor de b és 0 abans de realitzar una operació de divisió. a s'inicia al valor 4 i b s'inicia al valor 0. El programa imprimeix el missatge El valor de a / b és: .La sentència assert verifica si b no és igual a 0. Com que b és 0, l'assert La declaració falla i genera un AssertionError amb el missatge Error de divisió zero .
Des d'un excepció es genera amb la instrucció d'assert fallida, el programa finalitza i no continua executant la instrucció d'impressió a la línia següent.

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

>

>

Sortida:

AssertionError: Zero Division Error>

Afirmació dins d'una funció

La declaració assert s'utilitza dins d'una funció en aquest exemple per verificar que la longitud i l'amplada d'un rectangle són positives abans de calcular la seva àrea. L'asserció genera un AssertionError amb el missatge La longitud i l'amplada han de ser positives si són falses. Si l'afirmació és certa, la funció retorna l'àrea del rectangle; si és fals, surt amb un error. Per mostrar com utilitzar assert en diverses situacions, la funció s'anomena dues vegades, una amb entrades positives i una altra amb entrades negatives.

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

>

>

Sortida:

AssertionError: Length and widthmust be positive>

Afirmació amb condició booleana

En aquest exemple, la sentència assert comprova si la condició booleana 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)>

>

>

Sortida:

x = 10 y = 20>

Afirma el tipus de variable a Python

En aquest exemple, les sentències assert comproven si els tipus de variables a i b són str i int, respectivament. Si alguna de les afirmacions falla, genera un AssertionError. Si les dues afirmacions passen, el programa continua i imprimeix els valors de a i b.

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

>

>

Sortida:

a = hello b = 42>

Afirmació dels valors del diccionari

En aquest exemple, les declaracions assert comproven si els valors associats amb les claus poma, plàtan i cirera del diccionari my_dict són 1, 2 i 3, respectivament. Si alguna de les afirmacions falla, genera un AssertionError. Si totes les afirmacions passen, el programa continua i imprimeix el contingut del diccionari.

Python 3


quina mida té la pantalla del meu monitor



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

>

>

Sortida:

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

Aplicació pràctica

Això té una utilitat molt més gran en les funcions de proves i garantia de qualitat en qualsevol domini de desenvolupament. S'utilitzen diferents tipus d'assercions segons l'aplicació. A continuació es mostra una demostració més senzilla d'un programa que només permet enviar només el lot amb tots els aliments calents, en cas contrari rebutja tot el lot.

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>>=> 26>,>'Batch is Rejected'> >print> (>str>(i)>+> ' is O.K'> )>

>

>

Sortida:

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

Excepció de temps d'execució:

AssertionError: Batch is Rejected>

Per què utilitzar Python Assert Statement?

A Python, la declaració assert és una potent eina de depuració que pot ajudar a identificar errors i assegurar-se que el vostre codi funciona com es pretén. Aquí hi ha diverses justificacions per utilitzar assert:

  1. Depuració: Les suposicions fetes pel vostre codi es poden verificar amb la declaració assert. Podeu trobar ràpidament errors i depurar el vostre programa col·locant declaracions assert al llarg del vostre codi.
  2. Documentació: L'ús de declaracions assert al vostre codi pot actuar com a documentació. Les declaracions d'assert faciliten que els altres entenguin i treballin amb el vostre codi, ja que descriuen explícitament les suposicions que fa el vostre codi.
  3. Prova: Per tal d'assegurar que es compleixen determinats requisits, les declaracions d'assert s'utilitzen freqüentment a les proves unitàries. Podeu assegurar-vos que el vostre codi funciona correctament i que els canvis que feu no danyin la funcionalitat actual incorporant declaracions d'assert a les vostres proves.
  4. Seguretat: Podeu utilitzar assert per comprovar que les entrades del programa compleixen els requisits i validar-los. En fer-ho, es poden evitar errors de seguretat com els desbordaments de memòria intermèdia i els atacs d'injecció SQL.