- 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
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans cette partie, on va voir un module très pratique pour éviter la répétition de code lorsqu'on va connecter des signaux.Donc ici, j'ai une interface très basique avec deux boutons, un bouton left et un bouton right,qui sont les uns à côté des autres, et j'ai connecté le clic de ces boutons à ces deux méthodes
00:00:15 :qui me permettent d'afficher le texte bouton de gauche et bouton de droite.Donc si je lance le script, vous voyez que quand je clique sur left, on a bouton de gauche qui est affiché,et quand je clique sur right, on a bouton de droite qui est affiché.
00:00:26 :Donc ça fonctionne, mais ce n'est pas forcément idéal puisqu'on a deux méthodes qui sont sensiblement les mêmes,et ce qu'on aimerait, c'est avoir une seule méthode avec laquelle on puisse modifier le texte.
00:00:35 :Donc la chose qu'on est tenté de faire, c'est d'enlever cette méthode ici,de faire tout simplement une méthode qu'on va appeler bouton cliquet, et de passer un message ici.
00:00:43 :Donc de mettre un paramètre message, et plutôt que d'afficher ici bouton de gauche, on va afficher le message.Le problème, c'est que si je remplace dans mon signal ici pour mettre bouton cliquet,et que je veux passer un message ici, en disant par exemple bouton de gauche pour ce bouton,
00:00:56 :et bouton de droite pour l'autre bouton, eh bien on va avoir un problème.Donc je vais exécuter le script pour vous montrer ce que ça donne.
00:01:03 :Je lance le script, et là vous voyez qu'on a bouton de gauche et bouton de droite qui sont affichés,et quand je clique sur left et right, rien ne se passe.
00:01:11 :Alors pourquoi ? Eh bien tout simplement parce que comme on a passé un argument ici à cette méthode,la méthode est appelée, on a les parenthèses ici, donc on appelle la méthode bouton cliquet avec cet argument.
00:01:21 :On affiche le message que l'on envoie, et cette méthode, qu'est-ce qu'elle retourne ? Elle ne retourne rien.Par défaut, quand on ne met pas de return dans une fonction, ça va retourner le mot none.
00:01:30 :Donc ce qu'on est en train de faire ici, en fait, est tout simplement d'appeler cette méthode,et de connecter le signal cliquet à none.Donc ça ne va rien faire quand on va cliquer sur le bouton, puisqu'on ne connecte à rien du tout.
00:01:41 :Donc comment on peut faire ? Eh bien on va passer par un module qui nous permet de créer une fonctionavec des arguments sans l'appeler directement.
00:01:48 :Donc ce module, c'est le module functools, donc on va dire from functools, et on va importer la fonction partialequi va me permettre de créer cette fonction intermédiaire.
00:01:58 :Donc ce qu'on va faire, c'est que plutôt que d'utiliser cette méthode en lui passant un argument,on va utiliser partial, on va lui dire quelle méthode on veut appeler,donc dans notre cas ça va être la méthode bouton cliquet,et on va lui dire ce que l'on souhaite passer à cette méthode en argument.
00:02:11 :Donc on va passer bouton de gauche, et on pourrait mettre d'autres arguments à la suite.Si vous aviez d'autres arguments dans cette méthode après message, vous pourriez les mettre après ici,à l'intérieur de cette fonction partiale.
00:02:21 :Donc on a la méthode qu'on souhaite appeler, ce qu'on souhaite envoyer en argument,et le fait de passer par partial en fait, ça ne va pas l'exécuter,ça va juste créer une fonction intermédiaire qui va pouvoir être connectée à notre bouton.
00:02:33 :Donc je vais faire la même chose pour le bouton de droite ici, en changeant le texte bouton de droite,et cette fois-ci on va avoir un code fonctionnel, donc si je relance mon application,vous voyez que quand on lance l'application, la méthode n'est pas exécutée,donc on n'a aucun print ici, et si je clique sur left et right,
00:02:48 :on a bien bouton de gauche et bouton de droite qui sont affichés.Donc ça nous a permis de réduire notre code, on a maintenant une seule méthode qui permetde faire un message différent en fonction du bouton sur lequel on clique,en passant en argument ici un texte différent selon le bouton sur lequel on clique.
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.