Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Brug af Påstande i Python: Fejlfinding og Sikring af Kodeintegritet | Mestring af Fejlhåndtering i Python
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Strukturel Programmering

bookBrug af Påstande i Python: Fejlfinding og Sikring af Kodeintegritet

I Python er assert-udsagnet en indbygget funktion, der er designet til at verificere, at specifikke betingelser er opfyldt i din kode. Det fungerer som en fornuftskontrol og bekræfter, at visse forudsætninger er opfyldt på bestemte tidspunkter under programudførelsen.

Syntaksen for assert-udsagnet er som følger:

assert condition, message

I Python udføres assertioner med assert-udsagnet. En assertion kontrollerer en betingelse, og hvis betingelsen evalueres til False, udløses en AssertionError-undtagelse med en valgfri fejlmeddelelse.

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

I dette eksempel beregner funktionen den gennemsnitlige karakter, og assertionen sikrer, at listen over karakterer ikke er tom, før gennemsnittet beregnes. Hvis karakterlisten er tom, fejler assertionen, hvilket forhindrer division med nul og angiver en klar fejl i programlogikken.

Her er nogle almindeligt anvendte kategorier af assertioner:

  • Værdi-assertioner: Disse assertioner anvendes ofte i fejlfinding og testscenarier for at verificere, at de værdier, der bruges i et program, opfylder de forventede kriterier. For eksempel kan du bruge assertioner som assert x >= 18 eller som tidligere vist, assert len(grades) > 0;

  • Type-assertioner: Type-assertioner er især værdifulde i dynamisk typede sprog som Python, hvor typen af en variabel kan ændre sig. For eksempel bruges isinstance(x, int) til at bekræfte, at x faktisk er et heltal;

  • Samling-assertioner: Disse assertioner bruges til at kontrollere, om en samling (som en liste eller ordbog) indeholder bestemte elementer eller opfylder specifikke kriterier. Eksempler inkluderer assert item in my_list eller assert key in my_dict;

  • Undtagelses-assertioner: Disse bruges primært i enhedstest (som vi lærer om i det sidste afsnit) for at sikre, at koden håndterer undtagelser korrekt. For eksempel kontrollerer assert_raises(ValueError, int, 'abc'), at konvertering af 'abc' til et heltal udløser en ValueError. Tilsvarende verificerer assert_raises(ExceptionType, my_function, arg1, arg2), at kald af my_function med arg1 og arg2 udløser en undtagelse af typen ExceptionType.

Opgave

Swipe to start coding

Tilføj påstande til et eksempelprojekt, der håndterer brugerdata, for at sikre, at brugeroplysninger opfylder bestemte kriterier.

  1. Kontroller, at user_id ikke allerede findes i users-ordbogen for at undgå dubletter;
  2. Sikr, at user_id er et heltal for at opretholde konsistens i bruger-ID-typer;
  3. Bekræft, at user_info sendes som en ordbog for at forhindre datatypenfejl.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

bookBrug af Påstande i Python: Fejlfinding og Sikring af Kodeintegritet

Stryg for at vise menuen

I Python er assert-udsagnet en indbygget funktion, der er designet til at verificere, at specifikke betingelser er opfyldt i din kode. Det fungerer som en fornuftskontrol og bekræfter, at visse forudsætninger er opfyldt på bestemte tidspunkter under programudførelsen.

Syntaksen for assert-udsagnet er som følger:

assert condition, message

I Python udføres assertioner med assert-udsagnet. En assertion kontrollerer en betingelse, og hvis betingelsen evalueres til False, udløses en AssertionError-undtagelse med en valgfri fejlmeddelelse.

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

I dette eksempel beregner funktionen den gennemsnitlige karakter, og assertionen sikrer, at listen over karakterer ikke er tom, før gennemsnittet beregnes. Hvis karakterlisten er tom, fejler assertionen, hvilket forhindrer division med nul og angiver en klar fejl i programlogikken.

Her er nogle almindeligt anvendte kategorier af assertioner:

  • Værdi-assertioner: Disse assertioner anvendes ofte i fejlfinding og testscenarier for at verificere, at de værdier, der bruges i et program, opfylder de forventede kriterier. For eksempel kan du bruge assertioner som assert x >= 18 eller som tidligere vist, assert len(grades) > 0;

  • Type-assertioner: Type-assertioner er især værdifulde i dynamisk typede sprog som Python, hvor typen af en variabel kan ændre sig. For eksempel bruges isinstance(x, int) til at bekræfte, at x faktisk er et heltal;

  • Samling-assertioner: Disse assertioner bruges til at kontrollere, om en samling (som en liste eller ordbog) indeholder bestemte elementer eller opfylder specifikke kriterier. Eksempler inkluderer assert item in my_list eller assert key in my_dict;

  • Undtagelses-assertioner: Disse bruges primært i enhedstest (som vi lærer om i det sidste afsnit) for at sikre, at koden håndterer undtagelser korrekt. For eksempel kontrollerer assert_raises(ValueError, int, 'abc'), at konvertering af 'abc' til et heltal udløser en ValueError. Tilsvarende verificerer assert_raises(ExceptionType, my_function, arg1, arg2), at kald af my_function med arg1 og arg2 udløser en undtagelse af typen ExceptionType.

Opgave

Swipe to start coding

Tilføj påstande til et eksempelprojekt, der håndterer brugerdata, for at sikre, at brugeroplysninger opfylder bestemte kriterier.

  1. Kontroller, at user_id ikke allerede findes i users-ordbogen for at undgå dubletter;
  2. Sikr, at user_id er et heltal for at opretholde konsistens i bruger-ID-typer;
  3. Bekræft, at user_info sendes som en ordbog for at forhindre datatypenfejl.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4
single

single

some-alt