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 assert
un'istruzione incorporata per utilizzare la condizione di asserzione nel programma. assert
l'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' assert
istruzione in due modi, come menzionato sopra.
assert
l'istruzione ha una condizione e se la condizione non è soddisfatta il programma si ferma e dàAssertionError
.assert
l'istruzione può anche avere una condizione e un messaggio di errore opzionale. Se la condizione non è soddisfatta, assert interrompe il programma e restituisceAssertionError
il 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' assert
istruzione 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 assert
statement, la condizione è diventata falsa e assert interrompe il programma e dà AssertionError
.
Passiamo ora un altro elenco che soddisferà la assert
condizione 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 assert
condizione è 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.