Brug 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.
12345def calculate_average(grades): assert len(grades) > 0, "List of grades cannot be empty" return sum(grades) / len(grades) calculate_average([]) # Throw an error
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 >= 18eller 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_listellerassert 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 verificererassert_raises(ExceptionType, my_function, arg1, arg2), at kald af my_function med arg1 og arg2 udløser en undtagelse af typen ExceptionType.
Swipe to start coding
Tilføj påstande til et eksempelprojekt, der håndterer brugerdata, for at sikre, at brugeroplysninger opfylder bestemte kriterier.
- Kontroller, at
user_idikke allerede findes iusers-ordbogen for at undgå dubletter; - Sikr, at
user_ider et heltal for at opretholde konsistens i bruger-ID-typer; - Bekræft, at
user_infosendes som en ordbog for at forhindre datatypenfejl.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Fantastisk!
Completion rate forbedret til 3.13
Brug 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.
12345def calculate_average(grades): assert len(grades) > 0, "List of grades cannot be empty" return sum(grades) / len(grades) calculate_average([]) # Throw an error
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 >= 18eller 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_listellerassert 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 verificererassert_raises(ExceptionType, my_function, arg1, arg2), at kald af my_function med arg1 og arg2 udløser en undtagelse af typen ExceptionType.
Swipe to start coding
Tilføj påstande til et eksempelprojekt, der håndterer brugerdata, for at sikre, at brugeroplysninger opfylder bestemte kriterier.
- Kontroller, at
user_idikke allerede findes iusers-ordbogen for at undgå dubletter; - Sikr, at
user_ider et heltal for at opretholde konsistens i bruger-ID-typer; - Bekræft, at
user_infosendes som en ordbog for at forhindre datatypenfejl.
Løsning
Tak for dine kommentarer!
single