Assertions Python dans n'importe quel langage de programmation se trouvent les outils de débogage qui facilitent la fluidité du code. Les assertions sont principalement des hypothèses qu'un programmeur sait ou veut toujours être vraies et les met donc dans le code de sorte que leur échec ne permette pas au code de s'exécuter davantage.
Affirmer un mot-clé en Python
En termes plus simples, nous pouvons dire que l'assertion est l'expression booléenne qui vérifie si la déclaration est vraie ou fausse. Si l'instruction est vraie, elle ne fait rien et continue l'exécution, mais si l'instruction est fausse, elle arrête l'exécution du programme et génère une erreur.
Organigramme de l'instruction Python Assert

Organigramme de l'instruction Python Assert
Syntaxe du mot clé Python assert
En Python, le affirmer le mot-clé aide à accomplir cette tâche. Cette instruction prend en entrée une condition booléenne qui, lorsqu'elle renvoie vrai, ne fait rien et continue le flux normal d'exécution, mais si elle est calculée comme étant fausse, elle déclenche une AssertionError avec le message facultatif fourni.
Syntaxe : condition d'affirmation, message d'erreur (facultatif)
Paramètres:
- condition : La condition booléenne renvoyant vrai ou faux.
- Message d'erreur : L'argument facultatif à imprimer dans la console en cas d'AssertionError
Retour: Renvoie AssertionError, au cas où la condition serait évaluée comme fausse avec le message d'erreur qui, lorsqu'il est fourni.
Mot-clé Python assert sans message d'erreur
Ce code tente de démontrer l'utilisation de l'assert en Python en vérifiant si la valeur de b est 0 avant d'effectuer une opération de division. a est initialisé à la valeur 4, et b est initialisé à la valeur 0. Le programme imprime le message La valeur de a / b est : . L'instruction assert vérifie si b n'est pas égal à 0. Puisque b est 0, l'instruction assert vérifie L'instruction échoue et génère une AssertionError.
Puisqu'une exception est déclenchée par l'instruction assert ayant échoué, le programme se termine et ne continue pas à exécuter l'instruction print sur la ligne suivante.
Python3
lister Java dans un tableau
# initializing number> a>=> 4> b>=> 0> # using assert to check for 0> print>(>'The value of a / b is : '>)> assert> b !>=> 0> print>(a>/> b)> |
>
>
Sortir:
The value of a / b is : --------------------------------------------------------------------------- AssertionError Traceback (most recent call last) Input In [19], in () 8 # using assert to check for 0 9 print('The value of a / b is : ') --->10 assert b != 0 11 print(a / b) AssertionError :> Mot-clé Python assert avec un message d'erreur
Ce code tente de démontrer l'utilisation de l'assert en Python en vérifiant si la valeur de b est 0 avant d'effectuer une opération de division. a est initialisé à la valeur 4, et b est initialisé à la valeur 0. Le programme imprime le message La valeur de a / b est : . L'instruction assert vérifie si b n'est pas égal à 0. Puisque b est 0, l'instruction assert vérifie l'instruction échoue et génère une AssertionError avec le message Erreur de division zéro .
Depuis un exception est déclenché par l'échec de l'instruction assert, le programme se termine et ne continue pas à exécuter l'instruction print sur la ligne suivante.
Python3
# Python 3 code to demonstrate> # working of assert> # initializing number> a>=> 4> b>=> 0> # using assert to check for 0> print>(>'The value of a / b is : '>)> assert> b !>=> 0>,>'Zero Division Error'> print>(a>/> b)> |
>
>
Sortir:
AssertionError: Zero Division Error>
Affirmation à l'intérieur d'une fonction
L'instruction assert est utilisée dans une fonction dans cet exemple pour vérifier que la longueur et la largeur d'un rectangle sont positives avant de calculer son aire. L'assertion déclenche une AssertionError avec le message La longueur et la largeur doivent être positives si elle est fausse. Si l’assertion est vraie, la fonction renvoie l’aire du rectangle ; s'il est faux, il se termine avec une erreur. Pour montrer comment utiliser assert dans diverses situations, la fonction est appelée deux fois, une fois avec des entrées positives et une fois avec des entrées négatives.
Python3
# Function to calculate the area of a rectangle> def> calculate_rectangle_area(length, width):> ># Assertion to check that the length and width are positive> >assert> length>>0> and> width>>0>,>'Length and width'>+> > >'must be positive'> ># Calculation of the area> >area>=> length>*> width> ># Return statement> >return> area> # Calling the function with positive inputs> area1>=> calculate_rectangle_area(>5>,>6>)> print>(>'Area of rectangle with length 5 and width 6 is'>, area1)> # Calling the function with negative inputs> area2>=> calculate_rectangle_area(>->5>,>6>)> print>(>'Area of rectangle with length -5 and width 6 is'>, area2)> |
>
>
Sortir:
AssertionError: Length and widthmust be positive>
Affirmation avec une condition booléenne
Dans cet exemple, l'instruction assert vérifie si la condition booléenne x
Python3
# Initializing variables> x>=> 10> y>=> 20> # Asserting a boolean condition> assert> x # Printing the values of x and y print('x =', x) print('y =', y)> |
>
>
Sortir:
x = 10 y = 20>
Affirmer le type de variable en Python
Dans cet exemple, les instructions assert vérifient si les types des variables a et b sont respectivement str et int. Si l’une des assertions échoue, elle génère une AssertionError. Si les deux assertions réussissent, le programme continue et imprime les valeurs de a et b.
Python3
tutoriel .net
# Initializing variables> a>=> 'hello'> b>=> 42> # Asserting the type of a variable> assert> type>(a)>=>=> str> assert> type>(b)>=>=> int> # Printing the values of a and b> print>(>'a ='>, a)> print>(>'b ='>, b)> |
>
>
Sortir:
a = hello b = 42>
Affirmation des valeurs du dictionnaire
Dans cet exemple, les instructions assert vérifient si les valeurs associées aux clés apple, banane et cerise dans le dictionnaire my_dict sont respectivement 1, 2 et 3. Si l’une des assertions échoue, elle génère une AssertionError. Si toutes les assertions réussissent, le programme continue et imprime le contenu du dictionnaire.
Python3
# Initializing a dictionary> my_dict>=> {>'apple'>:>1>,>'banana'>:>2>,>'cherry'>:>3>}> # Asserting the contents of the dictionary> assert> my_dict[>'apple'>]>=>=> 1> assert> my_dict[>'banana'>]>=>=> 2> assert> my_dict[>'cherry'>]>=>=> 3> # Printing the dictionary> print>(>'My dictionary contains the following key-value pairs:'>, my_dict)> |
>
>
Sortir:
My dictionary contains the following key-value pairs: {'apple': 1, 'banana': 2, 'cherry': 3}> Application pratique
Cela est bien plus utile dans les rôles de test et d’assurance qualité dans n’importe quel domaine de développement. Différents types d'assertions sont utilisés selon l'application. Vous trouverez ci-dessous une démonstration plus simple d'un programme qui permet uniquement d'expédier le lot contenant tous les aliments chauds, sinon il rejette l'ensemble du lot.
Python3
# Python 3 code to demonstrate> # working of assert> # Application> # initializing list of foods temperatures> batch>=> [>40>,>26>,>39>,>30>,>25>,>21>]> # initializing cut temperature> cut>=> 26> # using assert to check for temperature greater than cut> for> i>in> batch:> >assert> i>>=> 26>,>'Batch is Rejected'> >print> (>str>(i)>+> ' is O.K'> )> |
>
>
Sortir:
40 is O.K 26 is O.K 39 is O.K 30 is O.K>
Exception d'exécution :
AssertionError: Batch is Rejected>
Pourquoi utiliser l'instruction Python Assert ?
En Python, l'instruction assert est un outil de débogage puissant qui peut vous aider à identifier les erreurs et à garantir que votre code fonctionne comme prévu. Voici plusieurs justifications pour l’utilisation d’assert :
- Débogage : Les hypothèses faites par votre code peuvent être vérifiées avec l'instruction assert. Vous pouvez rapidement trouver des erreurs et déboguer votre programme en plaçant des instructions assert dans votre code.
- Documentation: L'utilisation d'instructions assert dans votre code peut servir de documentation. Les instructions d'assertion permettent aux autres de comprendre et d'utiliser plus facilement votre code car elles décrivent explicitement les hypothèses formulées par votre code.
- Essai: Afin de garantir que certaines exigences sont remplies, les instructions assert sont fréquemment utilisées dans les tests unitaires. Vous pouvez vous assurer que votre code fonctionne correctement et que les modifications que vous apportez n'endommagent pas les fonctionnalités actuelles en incorporant des instructions assert dans vos tests.
- Sécurité: Vous pouvez utiliser assert pour vérifier que les entrées du programme sont conformes aux exigences et les valider. Ce faisant, les failles de sécurité telles que les débordements de tampon et les attaques par injection SQL peuvent être évitées.