- 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 :Quand on utilise des objets en Python, certains de ces objets sont ce qu'on appelle des objets callables et d'autres non.Donc quand je dis callable, on pourrait le traduire par appelable.
00:00:09 :Qu'est-ce qui est appelable par exemple ?Eh bien une fonction, une fonction on peut l'appeler.On a vu avec le module OS par exemple qu'on pouvait utiliser os.makedears
00:00:17 :et ça c'est une fonction, la fonction makedears et pour l'exécuter il faut l'appeler avec les parenthèses.Donc on met des parenthèses et éventuellement à l'intérieur de ces parenthèses on peut aussi passer des arguments.
00:00:33 :Donc pour ça on va pouvoir utiliser une fonction qui s'appelle callable tout simplement et on va pouvoir lui passer un objetet cette fonction va nous retourner si oui ou non cet objet, eh bien on peut l'appeler.
00:00:43 :Alors je vais vous montrer un exemple avec pprint.Pprint qui est donc un module, le module pprint, vous voyez ici ça nous indique module pprint.
00:00:51 :Donc ce module je ne peux pas l'appeler, un module on ne peut pas directement l'appeler.Le module os, quand je fais import os, je ne peux pas faire os et mettre des parenthèses après.
00:01:00 :On ne peut pas appeler le module, on peut juste appeler les fonctions par exemple qui sont à l'intérieur du module.Donc le module pprint on ne peut pas l'appeler.
00:01:06 :Donc on va vérifier ça avec la fonction callable.Donc je vais faire callable de pprint, donc le module pprint, et je vais printer tout ça avec un print.
00:01:17 :Donc je mets print de callable de pprint, donc j'affiche le résultat de cette fonction.Et donc là logiquement ça va me dire false, puisqu'on ne peut pas appeler ici ce module.
00:01:27 :False ici, pprint n'est pas appelable.Par contre si j'importe depuis pprint, la fonction pprint.Donc pprint c'est une fonction, on le voit ici, Visual Studio Code nous montre le texte qui définit la fonction.
00:01:39 :Donc c'est une fonction et je peux l'appeler.Donc ça c'est le module, le module pprint, et on importe la fonction pprint,donc c'est le même nom pour le module et pour la fonction, sauf qu'avec cette syntaxe,cette fois-ci j'ai importé directement la fonction pprint depuis le module.
00:01:52 :Donc je vais refaire cette ligne de code ici pour vérifier si cette fois-ci la fonction est callable.Et là on devrait avoir true, puisque la fonction est callable, on peut l'appeler.
00:02:01 :Et voilà, vous avez bien true ici, on peut l'appeler et on peut l'utiliser.Donc voilà pour callable, ça peut être très pratique par exemple si j'ai le module os,et que je fais un pprint de dire de os, je vais avoir tout un tas d'attributs de mon module.
00:02:14 :Alors je vais réimporter pprint, parce que j'avais enlevé la ligne d'import.Donc pprint de dire de os, j'ai tout un tas d'attributs en fait qui sont disponibles,vous voyez tout ça ici c'est disponible sur le module os,et certaines choses ici sont callables et d'autres non.
00:02:27 :Par exemple name ici, ce n'est pas callable, mais de base on ne le sait pas.Et donc pour savoir ça on va utiliser callable.Donc je vais faire un print de callable de os.name,
00:02:37 :et on va vérifier si oui ou non cet objet ici je peux l'appeler.Donc est-ce que name c'est une fonction, ou tout simplement un attribut qui n'est pas appelable,et qui ne retourne une valeur.
00:02:46 :Donc je lance, là ça me dit false, donc ça veut dire que je ne peux pas appeler os.name.Donc je vais faire un print de os.name pour voir à quoi ça correspond,
00:02:54 :et os.name dans ce cas-ci c'est une chaîne de caractèrequi va déterminer sur quel système d'exploitation je me trouve.Donc cette chaîne de caractère va être différente si vous êtes sur Linux, sur Windows ou sur Mac.
00:03:04 :Donc là on voit bien que ça ce n'est pas callable,donc je ne peux pas faire os.name et mettre des parenthèses.Si je fais ça, je vais avoir une erreur, je vais vous montrer l'erreur,puisque elle est assez intéressante,et ça nous dit string object is not callable.
00:03:16 :Donc quand vous avez une erreur comme ça, avec quelque chose object is not callable,ça veut dire que vous êtes en train d'essayer d'appeler quelque chose que vous ne pouvez pas appeler.
00:03:25 :Donc voilà comment vérifier si quelque chose est appelable,voilà aussi l'erreur que vous allez avoir si jamais vous essayez d'appeler quelque chose que vous ne pouvez pas appeler.
00:03:33 :Donc c'est une fonction assez pratique que j'utilise assez souventquand je ne suis pas sûr si quelque chose est appelable ou non,vous pouvez aussi tout simplement l'essayer,comme là ici, on peut essayer, lancer notre script, voir qu'on a une erreur,et en déduire que cet objet ne peut pas être appelé.
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.