Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Utilisation des Assertions en Python : Débogage et Garantie de l'Intégrité du Code | Gestion des Erreurs
Concepts Avancés de Python

bookUtilisation des Assertions en Python : Débogage et Garantie de l'Intégrité du Code

En Python, l’instruction assert est une fonctionnalité intégrée conçue pour vérifier que certaines conditions sont vraies dans votre code. Elle sert de contrôle de cohérence, confirmant que certains prérequis sont respectés à des points précis lors de l’exécution du programme.

La syntaxe de l’instruction assert est la suivante :

assert condition, message

En Python, les assertions sont réalisées à l’aide de l’instruction assert. Une assertion vérifie une condition, et si la condition s’évalue à False, elle déclenche une exception AssertionError avec un message d’erreur optionnel.

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

Dans cet exemple, la fonction calcule la moyenne des notes, et l’assertion garantit que la liste des notes n’est pas vide avant de calculer la moyenne. Si la liste est vide, l’assertion échoue, évitant ainsi une division par zéro et signalant une erreur claire dans la logique du programme.

Voici quelques catégories couramment utilisées d’assertions :

  • Assertions de valeur : Ces assertions sont souvent utilisées lors du débogage et des tests pour vérifier que les valeurs utilisées dans un programme répondent aux critères attendus. Par exemple, on peut utiliser des assertions comme assert x >= 18 ou, comme illustré précédemment, assert len(grades) > 0 ;

  • Assertions de type : Les assertions de type sont particulièrement utiles dans les langages dynamiquement typés comme Python, où le type d’une variable peut changer. Par exemple, utiliser isinstance(x, int) permet de confirmer que x est bien un entier ;

  • Assertions sur les collections : Ces assertions servent à vérifier si une collection (comme une liste ou un dictionnaire) contient certains éléments ou répond à des critères spécifiques. Par exemple, assert item in my_list ou assert key in my_dict ;

  • Assertions d’exception : Celles-ci sont principalement utilisées dans les tests unitaires (que nous aborderons dans la dernière section) pour s’assurer que le code gère correctement les exceptions. Par exemple, assert_raises(ValueError, int, 'abc') vérifie que la conversion de 'abc' en entier déclenche une ValueError. De même, assert_raises(ExceptionType, my_function, arg1, arg2) vérifie que l’appel de my_function avec arg1 et arg2 déclenche une exception de type ExceptionType.

Tâche

Swipe to start coding

Ajoutez des assertions à un projet exemple qui gère les données utilisateur, en garantissant que les informations utilisateur respectent certains critères.

  1. Vérifier que le user_id n'est pas déjà présent dans le dictionnaire users afin d'éviter les doublons ;
  2. S'assurer que le user_id est un entier, pour maintenir la cohérence des types d'identifiants utilisateur ;
  3. Confirmer que user_info est transmis sous forme de dictionnaire afin d'éviter les erreurs de type de données.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

bookUtilisation des Assertions en Python : Débogage et Garantie de l'Intégrité du Code

Glissez pour afficher le menu

En Python, l’instruction assert est une fonctionnalité intégrée conçue pour vérifier que certaines conditions sont vraies dans votre code. Elle sert de contrôle de cohérence, confirmant que certains prérequis sont respectés à des points précis lors de l’exécution du programme.

La syntaxe de l’instruction assert est la suivante :

assert condition, message

En Python, les assertions sont réalisées à l’aide de l’instruction assert. Une assertion vérifie une condition, et si la condition s’évalue à False, elle déclenche une exception AssertionError avec un message d’erreur optionnel.

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

Dans cet exemple, la fonction calcule la moyenne des notes, et l’assertion garantit que la liste des notes n’est pas vide avant de calculer la moyenne. Si la liste est vide, l’assertion échoue, évitant ainsi une division par zéro et signalant une erreur claire dans la logique du programme.

Voici quelques catégories couramment utilisées d’assertions :

  • Assertions de valeur : Ces assertions sont souvent utilisées lors du débogage et des tests pour vérifier que les valeurs utilisées dans un programme répondent aux critères attendus. Par exemple, on peut utiliser des assertions comme assert x >= 18 ou, comme illustré précédemment, assert len(grades) > 0 ;

  • Assertions de type : Les assertions de type sont particulièrement utiles dans les langages dynamiquement typés comme Python, où le type d’une variable peut changer. Par exemple, utiliser isinstance(x, int) permet de confirmer que x est bien un entier ;

  • Assertions sur les collections : Ces assertions servent à vérifier si une collection (comme une liste ou un dictionnaire) contient certains éléments ou répond à des critères spécifiques. Par exemple, assert item in my_list ou assert key in my_dict ;

  • Assertions d’exception : Celles-ci sont principalement utilisées dans les tests unitaires (que nous aborderons dans la dernière section) pour s’assurer que le code gère correctement les exceptions. Par exemple, assert_raises(ValueError, int, 'abc') vérifie que la conversion de 'abc' en entier déclenche une ValueError. De même, assert_raises(ExceptionType, my_function, arg1, arg2) vérifie que l’appel de my_function avec arg1 et arg2 déclenche une exception de type ExceptionType.

Tâche

Swipe to start coding

Ajoutez des assertions à un projet exemple qui gère les données utilisateur, en garantissant que les informations utilisateur respectent certains critères.

  1. Vérifier que le user_id n'est pas déjà présent dans le dictionnaire users afin d'éviter les doublons ;
  2. S'assurer que le user_id est un entier, pour maintenir la cohérence des types d'identifiants utilisateur ;
  3. Confirmer que user_info est transmis sous forme de dictionnaire afin d'éviter les erreurs de type de données.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
single

single

some-alt