I den här artikeln kommer vi att lära oss om påståenden i Python med hjälp av assert.
Vad är påstående?
Påståenden är uttalanden som hävdar eller anger ett faktum säkert i ditt program. När du till exempel skriver en delningsfunktion är du säker på att delaren inte ska vara noll, du hävdar att delaren inte är lika med noll.
Påståenden är helt enkelt booleska uttryck som kontrollerar om villkoren blir sanna eller inte. Om det är sant gör programmet ingenting och flyttar till nästa kodrad. Men om det är falskt stannar programmet och ger ett fel.
Det är också ett felsökningsverktyg eftersom det stoppar programmet så fort något fel inträffar och visar på vilken punkt i programfelet som har inträffat.
Vi kan vara tydliga genom att titta på flödesschemat nedan:
Python hävdar uttalande
Python har inbyggt assert
uttalande för att använda påståendebetingelser i programmet. assert
uttalande har ett villkor eller uttryck som alltid ska vara sant. Om villkoret är falskt hävdar programmet att programmet ger ett AssertionError
.
Syntax för att använda Assert i Pyhton:
hävda
hävda,
I Python kan vi använda assert
uttalande på två sätt som nämnts ovan.
assert
uttalande har ett villkor och om villkoret inte är uppfyllt stannar programmet och gerAssertionError
.assert
uttalande kan också ha ett villkor och ett valfritt felmeddelande. Om villkoret inte är uppfyllt stoppar assert programmet och gerAssertionError
tillsammans med felmeddelandet.
Låt oss ta ett exempel där vi har en funktion som beräknar medelvärdet av de värden som skickats av användaren och värdet inte ska vara en tom lista. Vi kommer att använda assert
uttalande för att kontrollera parametern och om längden på den godkända listan är noll, stoppas programmet.
Exempel 1: Använda assert utan felmeddelande
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
När vi kör ovanstående program blir resultatet:
Påstående Fel
Vi fick ett fel när vi skickade en tom listmark1 till assert
uttalande, villkoret blev falskt och hävdade stoppar programmet och ger AssertionError
.
Låt oss nu skicka en annan lista som uppfyller assert
villkoret och se vad som kommer att bli vår produktion.
Exempel 2: Använd assert med felmeddelande
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))
När vi kör ovanstående program blir resultatet:
Genomsnitt av mark2: 78.0 AssertionError: Listan är tom.
Vi skickade en icke-tom listmark2 och även en tom listmark1 till avg()
funktionen och vi fick utdata för mark2-listan men efter det fick vi ett fel AssertionError: List is empty
. Det assert
villkoret uppfylls av MARK2 listan och program för att fortsätta att köra. Mark1 uppfyller dock inte villkoret och ger ett AssertionError
.
Viktiga punkter att komma ihåg
- Påståenden är villkoret eller det booleska uttrycket som alltid ska vara sant i koden.
assert
uttalande tar ett uttryck och ett valfritt meddelande.assert
uttalande används för att kontrollera typer, argumentvärden och funktionens funktion.assert
uttalande används som felsökningsverktyg eftersom det stoppar programmet vid den punkt där ett fel uppstår.