Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Gebruik van Assertions in Python: Debuggen en Waarborgen van Code-Integriteit | Foutafhandeling in Python Beheersen
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Structureel Programmeren

bookGebruik van Assertions in Python: Debuggen en Waarborgen van Code-Integriteit

In Python is de assert-instructie een ingebouwde functionaliteit die is ontworpen om te verifiëren dat specifieke voorwaarden waar zijn binnen je code. Het fungeert als een controle op consistentie, waarmee wordt bevestigd dat bepaalde vereisten op specifieke momenten tijdens de uitvoering van het programma zijn vervuld.

De syntaxis voor de assert-instructie is als volgt:

assert condition, message

In Python worden assertions uitgevoerd met de assert-instructie. Een assertion controleert een voorwaarde en als deze voorwaarde False oplevert, wordt een AssertionError-uitzondering opgegooid met een optioneel foutbericht.

12345
def calculate_average(grades): assert len(grades) > 0, "List of grades cannot be empty" return sum(grades) / len(grades) calculate_average([]) # Throw an error
copy

In dit voorbeeld berekent de functie het gemiddelde cijfer en zorgt de assertion ervoor dat de lijst met cijfers niet leeg is voordat het gemiddelde wordt berekend. Als de lijst leeg is, faalt de assertion, waardoor deling door nul wordt voorkomen en een duidelijke fout in de programmalogica wordt aangegeven.

Hieronder volgen enkele veelgebruikte categorieën van assertions:

  • Waarde-asserties: Deze assertions worden vaak gebruikt bij debuggen en testen om te verifiëren dat de waarden die in een programma worden gebruikt aan de verwachte criteria voldoen. Bijvoorbeeld, je kunt assertions gebruiken zoals assert x >= 18 of zoals eerder geïllustreerd, assert len(grades) > 0;

  • Type-asserties: Type-asserties zijn vooral waardevol in dynamisch getypeerde talen zoals Python, waar het type van een variabele kan veranderen. Bijvoorbeeld, met isinstance(x, int) wordt bevestigd dat x daadwerkelijk een integer is;

  • Collectie-asserties: Deze assertions worden gebruikt om te controleren of een collectie (zoals een lijst of dictionary) bepaalde elementen bevat of aan specifieke criteria voldoet. Voorbeelden zijn assert item in my_list of assert key in my_dict;

  • Exception-asserties: Deze worden voornamelijk gebruikt bij unit testing (wat we in het laatste onderdeel zullen behandelen) om te waarborgen dat code uitzonderingen correct afhandelt. Bijvoorbeeld, assert_raises(ValueError, int, 'abc') controleert dat het converteren van 'abc' naar een integer een ValueError oplevert. Evenzo verifieert assert_raises(ExceptionType, my_function, arg1, arg2) dat het aanroepen van my_function met arg1 en arg2 een uitzondering van het type ExceptionType oplevert.

Taak

Swipe to start coding

Voeg assertions toe aan een voorbeeldproject dat gebruikersgegevens beheert, zodat wordt gegarandeerd dat de gebruikersinformatie aan bepaalde criteria voldoet.

  1. Controleer dat de user_id nog niet in het users-woordenboek voorkomt om duplicaten te voorkomen;
  2. Zorg ervoor dat user_id een geheel getal is, zodat de consistentie van het type gebruikers-ID behouden blijft;
  3. Bevestig dat user_info wordt doorgegeven als een woordenboek om fouten in gegevenstypen te voorkomen.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you give more examples of how to use assert in Python?

What happens if I run Python with optimizations and use assert statements?

Can you explain the difference between assert and raising exceptions manually?

close

bookGebruik van Assertions in Python: Debuggen en Waarborgen van Code-Integriteit

Veeg om het menu te tonen

In Python is de assert-instructie een ingebouwde functionaliteit die is ontworpen om te verifiëren dat specifieke voorwaarden waar zijn binnen je code. Het fungeert als een controle op consistentie, waarmee wordt bevestigd dat bepaalde vereisten op specifieke momenten tijdens de uitvoering van het programma zijn vervuld.

De syntaxis voor de assert-instructie is als volgt:

assert condition, message

In Python worden assertions uitgevoerd met de assert-instructie. Een assertion controleert een voorwaarde en als deze voorwaarde False oplevert, wordt een AssertionError-uitzondering opgegooid met een optioneel foutbericht.

12345
def calculate_average(grades): assert len(grades) > 0, "List of grades cannot be empty" return sum(grades) / len(grades) calculate_average([]) # Throw an error
copy

In dit voorbeeld berekent de functie het gemiddelde cijfer en zorgt de assertion ervoor dat de lijst met cijfers niet leeg is voordat het gemiddelde wordt berekend. Als de lijst leeg is, faalt de assertion, waardoor deling door nul wordt voorkomen en een duidelijke fout in de programmalogica wordt aangegeven.

Hieronder volgen enkele veelgebruikte categorieën van assertions:

  • Waarde-asserties: Deze assertions worden vaak gebruikt bij debuggen en testen om te verifiëren dat de waarden die in een programma worden gebruikt aan de verwachte criteria voldoen. Bijvoorbeeld, je kunt assertions gebruiken zoals assert x >= 18 of zoals eerder geïllustreerd, assert len(grades) > 0;

  • Type-asserties: Type-asserties zijn vooral waardevol in dynamisch getypeerde talen zoals Python, waar het type van een variabele kan veranderen. Bijvoorbeeld, met isinstance(x, int) wordt bevestigd dat x daadwerkelijk een integer is;

  • Collectie-asserties: Deze assertions worden gebruikt om te controleren of een collectie (zoals een lijst of dictionary) bepaalde elementen bevat of aan specifieke criteria voldoet. Voorbeelden zijn assert item in my_list of assert key in my_dict;

  • Exception-asserties: Deze worden voornamelijk gebruikt bij unit testing (wat we in het laatste onderdeel zullen behandelen) om te waarborgen dat code uitzonderingen correct afhandelt. Bijvoorbeeld, assert_raises(ValueError, int, 'abc') controleert dat het converteren van 'abc' naar een integer een ValueError oplevert. Evenzo verifieert assert_raises(ExceptionType, my_function, arg1, arg2) dat het aanroepen van my_function met arg1 en arg2 een uitzondering van het type ExceptionType oplevert.

Taak

Swipe to start coding

Voeg assertions toe aan een voorbeeldproject dat gebruikersgegevens beheert, zodat wordt gegarandeerd dat de gebruikersinformatie aan bepaalde criteria voldoet.

  1. Controleer dat de user_id nog niet in het users-woordenboek voorkomt om duplicaten te voorkomen;
  2. Zorg ervoor dat user_id een geheel getal is, zodat de consistentie van het type gebruikers-ID behouden blijft;
  3. Bevestig dat user_info wordt doorgegeven als een woordenboek om fouten in gegevenstypen te voorkomen.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
single

single

some-alt