Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Utilisation des Assertions | Gestion des Erreurs
Concepts Avancés de Python
course content

Contenu du cours

Concepts Avancés de Python

Concepts Avancés de Python

1. Modules et Imports
2. Gestion des Erreurs
3. Gestion des Fichiers
4. Cadre Pytest
5. Cadre Unittest
6. Itérateurs et Générateurs

book
Utilisation des Assertions

En Python, l'instruction assert est une fonctionnalité intégrée conçue pour vérifier que des conditions spécifiques sont vraies dans votre code. Elle sert de vérification de bon sens, confirmant que certaines conditions préalables sont remplies à des points spécifiques pendant l'exécution du programme.

La syntaxe de l'instruction assert est la suivante :

En Python, les assertions sont effectuées par l'instruction assert. Une assertion vérifie une condition, et si la condition s'évalue à False, elle lève 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 note moyenne, et l'assertion garantit que la liste des notes n'est pas vide avant de calculer la moyenne. Si les notes sont vides, l'assertion échoue, empêchant la division par zéro et indiquant une erreur claire dans la logique du programme.

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

  • Assertions de Valeur : Ces assertions sont souvent employées dans les scénarios de débogage et de test pour vérifier que les valeurs utilisées dans un programme répondent aux critères attendus. Par exemple, vous pourriez 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) confirme que x est bien un entier;

  • Assertions de Collection : Ces assertions sont utilisées pour vérifier si une collection (comme une liste ou un dictionnaire) inclut des éléments particuliers ou répond à des critères spécifiques. Les exemples incluent 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 apprendrons 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 convertir 'abc' en entier soulève une ValueError. De même, assert_raises(ExceptionType, my_function, arg1, arg2) vérifie que l'appel de my_function avec arg1 et arg2 soulève une exception de type ExceptionType.

Maintenant, implémentons des assertions dans un projet existant pour vérifier que certaines conditions sont remplies pendant l'exécution du programme.

Tâche

Swipe to start coding

Ajoutez des assertions à un projet exemple qui gère les données des utilisateurs, en veillant à ce que les informations des utilisateurs répondent à certains critères.

  1. Vérifiez que le user_id n'est pas déjà dans le dictionnaire users pour éviter les doublons;
  2. Assurez-vous que user_id est un entier, maintenant la cohérence des types d'identifiants d'utilisateur;
  3. Confirmez que user_info est passé comme un dictionnaire pour é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
toggle bottom row

book
Utilisation des Assertions

En Python, l'instruction assert est une fonctionnalité intégrée conçue pour vérifier que des conditions spécifiques sont vraies dans votre code. Elle sert de vérification de bon sens, confirmant que certaines conditions préalables sont remplies à des points spécifiques pendant l'exécution du programme.

La syntaxe de l'instruction assert est la suivante :

En Python, les assertions sont effectuées par l'instruction assert. Une assertion vérifie une condition, et si la condition s'évalue à False, elle lève 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 note moyenne, et l'assertion garantit que la liste des notes n'est pas vide avant de calculer la moyenne. Si les notes sont vides, l'assertion échoue, empêchant la division par zéro et indiquant une erreur claire dans la logique du programme.

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

  • Assertions de Valeur : Ces assertions sont souvent employées dans les scénarios de débogage et de test pour vérifier que les valeurs utilisées dans un programme répondent aux critères attendus. Par exemple, vous pourriez 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) confirme que x est bien un entier;

  • Assertions de Collection : Ces assertions sont utilisées pour vérifier si une collection (comme une liste ou un dictionnaire) inclut des éléments particuliers ou répond à des critères spécifiques. Les exemples incluent 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 apprendrons 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 convertir 'abc' en entier soulève une ValueError. De même, assert_raises(ExceptionType, my_function, arg1, arg2) vérifie que l'appel de my_function avec arg1 et arg2 soulève une exception de type ExceptionType.

Maintenant, implémentons des assertions dans un projet existant pour vérifier que certaines conditions sont remplies pendant l'exécution du programme.

Tâche

Swipe to start coding

Ajoutez des assertions à un projet exemple qui gère les données des utilisateurs, en veillant à ce que les informations des utilisateurs répondent à certains critères.

  1. Vérifiez que le user_id n'est pas déjà dans le dictionnaire users pour éviter les doublons;
  2. Assurez-vous que user_id est un entier, maintenant la cohérence des types d'identifiants d'utilisateur;
  3. Confirmez que user_info est passé comme un dictionnaire pour é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
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt