In dit artikel zullen we leren over assertion in Python met assert.
Wat is bewering?
Beweringen zijn verklaringen die een feit met vertrouwen beweren of verwoorden in uw programma. Als u bijvoorbeeld een delingsfunctie schrijft, weet u zeker dat de deler niet nul mag zijn, u beweert dat de deler niet gelijk is aan nul.
Beweringen zijn gewoon booleaanse uitdrukkingen die controleren of de voorwaarden waar zijn of niet. Als het waar is, doet het programma niets en gaat het naar de volgende regel code. Als het echter onwaar is, stopt het programma en geeft het een foutmelding.
Het is ook een foutopsporingsprogramma omdat het het programma tot stilstand brengt zodra er een fout is opgetreden en laat zien op welk punt van de programmafout is opgetreden.
We kunnen duidelijk zijn door naar het onderstaande stroomschema te kijken:
Python beweert Statement
Python heeft een ingebouwde assert
instructie om de assertievoorwaarde in het programma te gebruiken. assert
verklaring heeft een voorwaarde of uitdrukking die verondersteld wordt altijd waar te zijn. Als de voorwaarde false is, stopt assert het programma en geeft een AssertionError
.
Syntaxis voor het gebruik van Assert in Pyhton:
beweren
beweren,
In Python kunnen we assert
statement op twee manieren gebruiken, zoals hierboven vermeld.
assert
verklaring heeft een voorwaarde en als niet aan de voorwaarde wordt voldaan, zal het programma stoppen en gevenAssertionError
.assert
instructie kan ook een voorwaarde en een optionele foutmelding bevatten. Als niet aan de voorwaarde is voldaan, stopt assert het programma en geeftAssertionError
samen met de foutmelding.
Laten we een voorbeeld nemen, waarbij we een functie hebben die het gemiddelde berekent van de waarden die door de gebruiker worden doorgegeven en de waarde mag geen lege lijst zijn. We zullen de assert
instructie gebruiken om de parameter te controleren en als de lengte van de doorgegeven lijst nul is, stopt het programma.
Voorbeeld 1: assert gebruiken zonder foutmelding
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
Wanneer we het bovenstaande programma uitvoeren, is de uitvoer:
AssertionFout
We kregen een foutmelding toen we een lege lijst mark1 doorgaven aan de assert
instructie, de voorwaarde werd false en assert stopt het programma en geeft AssertionError
.
Laten we nu een andere lijst doorgeven die aan de assert
voorwaarde voldoet en kijken wat onze output zal zijn.
Voorbeeld 2: assert gebruiken met foutmelding
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))
Wanneer we het bovenstaande programma uitvoeren, is de uitvoer:
Gemiddelde van cijfer2: 78,0 AssertionError: lijst is leeg.
We hebben een niet-lege lijst mark2 en ook een lege lijst mark1 doorgegeven aan de avg()
functie en we kregen uitvoer voor mark2 lijst, maar daarna kregen we een foutmelding AssertionError: List is empty
. Aan de assert
voorwaarde werd voldaan door de mark2-lijst en het programma om te blijven draaien. Mark1 voldoet echter niet aan de voorwaarde en geeft een AssertionError
.
Belangrijke punten om te onthouden
- Beweringen zijn de voorwaarde of booleaanse uitdrukking waarvan wordt aangenomen dat ze altijd waar zijn in de code.
assert
instructie heeft een uitdrukking en optioneel bericht.assert
instructie wordt gebruikt om typen, waarden van argumenten en de uitvoer van de functie te controleren.assert
instructie wordt gebruikt als foutopsporingsprogramma omdat het het programma stopt op het punt waar een fout optreedt.