Dichiarazione di asserzione di Python

In questo articolo impareremo l'asserzione in Python usando assert.

Cos'è l'asserzione?

Le asserzioni sono dichiarazioni che affermano o affermano un fatto con sicurezza nel tuo programma. Ad esempio, mentre scrivi una funzione di divisione, sei sicuro che il divisore non dovrebbe essere zero, asserisci che divisore non è uguale a zero.

Le asserzioni sono semplicemente espressioni booleane che controllano se le condizioni restituiscono true o meno. Se è vero, il programma non fa nulla e passa alla riga di codice successiva. Tuttavia, se è falso, il programma si ferma e genera un errore.

È anche uno strumento di debug in quanto arresta il programma non appena si verifica un errore e mostra in quale punto si è verificato l'errore del programma.

Possiamo essere chiari guardando il diagramma di flusso qui sotto:

Python assert Statement

Python ha assertun'istruzione incorporata per utilizzare la condizione di asserzione nel programma. assertl'affermazione ha una condizione o un'espressione che dovrebbe essere sempre vera. Se la condizione è falsa, assert interrompe il programma e restituisce un AssertionError.

Sintassi per l'utilizzo di Assert in Pyhton:

 asserire 
 asserire ,

In Python possiamo usare l' assertistruzione in due modi, come menzionato sopra.

  1. assertl'istruzione ha una condizione e se la condizione non è soddisfatta il programma si ferma e dà AssertionError.
  2. assertl'istruzione può anche avere una condizione e un messaggio di errore opzionale. Se la condizione non è soddisfatta, assert interrompe il programma e restituisce AssertionErroril messaggio di errore.

Facciamo un esempio, dove abbiamo una funzione che calcolerà la media dei valori passati dall'utente e il valore non dovrebbe essere un elenco vuoto. Useremo l' assertistruzione per controllare il parametro e se la lunghezza è dell'elenco passato è zero, il programma si ferma.

Esempio 1: utilizzo di assert senza messaggio di errore

 def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))

Quando eseguiamo il programma sopra, l'output sarà:

 AssertionError

Abbiamo ricevuto un errore quando abbiamo passato un elenco vuoto mark1 a assertstatement, la condizione è diventata falsa e assert interrompe il programma e dà AssertionError.

Passiamo ora un altro elenco che soddisferà la assertcondizione e vediamo quale sarà il nostro output.

Esempio 2: utilizzo di assert con messaggio di errore

 def avg(marks): assert len(marks) != 0,"List is empty." return sum(marks)/len(marks) mark2 = (55,88,78,90,79) print("Average of mark2:",avg(mark2)) mark1 = () print("Average of mark1:",avg(mark1))

Quando eseguiamo il programma sopra, l'output sarà:

 Media di mark2: 78.0 AssertionError: l'elenco è vuoto.

Abbiamo passato una lista non vuota mark2 e anche una lista vuota mark1 alla avg()funzione e abbiamo ottenuto l'output per mark2 list ma dopo di ciò abbiamo ricevuto un errore AssertionError: List is empty. La assertcondizione è stata soddisfatta dall'elenco mark2 e dal programma per continuare a funzionare. Tuttavia, mark1 non soddisfa la condizione e fornisce un AssertionError.

Punti chiave da ricordare

  • Le asserzioni sono la condizione o l'espressione booleana che dovrebbero sempre essere vere nel codice.
  • assert istruzione accetta un'espressione e un messaggio opzionale.
  • assert L'istruzione viene utilizzata per controllare i tipi, i valori dell'argomento e l'output della funzione.
  • assert viene utilizzata come strumento di debug in quanto arresta il programma nel punto in cui si verifica un errore.

Articoli interessanti...