- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Avant d'aller plus loin et de voir en détail le fonctionnement des annotations de type,il est important de comprendre quel intérêt nous avons à utiliser ces annotations de type.
00:00:09 :Rappelez-vous déjà que Python est un langage interprété et dynamique.Dynamique, ça signifie qu'on peut modifier à tout moment le type des objets.Par exemple, ici rien ne m'empêche de redéfinir une variable à laquelle j'avais assigné un nombre entierpour lui assigner un objet de type chaîne de caractère.
00:00:26 :Python, c'est également un langage fortement typé.La plupart du temps, ça ne pose pas de problème, comme ici où nous additionnons deux nombres entiers l'un avec l'autre.
00:00:34 :Si j'exécute ce script, la structure conditionnelle étant fausse,Python va aller dans le else et réaliser l'addition de 1 avec 1 et afficher le nombre 2.
00:00:43 :Cependant, si la structure conditionnelle est vraie,Python va essayer d'additionner une chaîne de caractère avec un nombre entier.Le côté fortement typé de Python nous empêche de réaliser cette opérationet nous obtenons donc une erreur de type.
00:00:56 :Comme Python est un langage interprété,ses erreurs potentielles n'apparaissent qu'au moment où vous exécutez votre script.Ici, j'ai une fonction qui me permet d'additionner deux nombreset je l'appelle en lui passant en argument les nombres entiers 2 et 4.
00:01:10 :Aucun problème donc dans ce cas-ci et la fonction va retourner le nombre 6.Cependant, si j'envoie cette fois-ci en argument une chaîne de caractère et un nombre,je vais me retrouver avec cette même erreur de type que nous avions eu précédemmentcar Python ne peut pas additionner une chaîne de caractère avec un nombre.
00:01:27 :Les annotations de type que vous retrouverez en anglais sous le nom de type hinting,elles ont donc été introduites pour prévenir ce genre de problème.
00:01:35 :Il est important de noter que Python restera toujours un langage dynamique.Contrairement à d'autres langages, on n'a pas besoin de compiler notre codeet les annotations de type sont donc facultatives.
00:01:46 :Si on reprend notre fonction qui permet d'additionner deux nombres,il est possible de préciser dans la définition de la fonction le type attendu par chaque paramètreet le type de la valeur qui sera retournée par la fonction.
00:01:58 :On indique ainsi après les paramètres a et b qu'ils doivent être de type nombre entier, donc hint,et pareil pour la valeur retour qui sera également un nombre entier.
00:02:08 :Il est ainsi possible de détecter en amont les erreurs,comme ici avec PyCharm qui détecte que le paramètre a s'attendait à recevoir un nombreet que nous lui envoyons une chaîne de caractère.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.