Hello, à 10:16 tu peux directement retourner self.weight==other.weight (si tant est que ces propriétés sont définies). Ça permet de hacker un peu le code. Je ne connaissais pas __repr__(). On se sert souvent des méthodes spéciales avec Django, notamment __str__(). À plus 👋 Édit : j’ai rien dit, tu le fais juste après à 10:48 😁
Merci beaucoup, ce cours m'est d'une grande utilité =). Aurais tu un conseil; je comprend les codes pythons (en général), quand je l'ai lis, mais je n'arrive pas à mettre en lien tous les concepts de base .... ?!
Bonjour, normalement si tu as les concepts assimilés, ça devrait aller tout seul. Après c'est surtout les fonctions/méthodes utilisées qui peuvent être connues ou non, surtout si un code utilise et importe des modules et bibliothèques tierces.
J'ai voulu tester la méthode spéciale __new__ mais j'ai du mal à m'en servir correctement, à comprendre comment ça interagit avec __init__ et avec l'héritage, si tu as des conseils à m'apporter je suis preneur
Bonjour ! Je me demandais, j'ai une utilisation un peu spéciale (ou pas du tout en fait, justement je sais pas) des méthodes __getattr__ et __setattr__ . Par exemple, je me suis récemment amusé à créer une classe pour les couleurs, et le problème était que la classe doit contenir les attributs : hex, rgba, rgb, r, red, g, green, b, blue, a et alpha, et ça demande un minimum de code de mettre à jour tous ces attributs à chaque fois qu'un seul d'entre eux est modifié. Alors pour éviter de trop me casser la tête, je n'ai créé que les attributs hex et rgba, et fait en sorte que tout les autres soit accessible via les méthodes __getattr__ et __setattr__ (en utilisant plein de if/elif : if name == "r" or name == "red" : return self.rgba[0]). Donc je me demandais si c'est une bonne pratique ou si ça pose trop de problème derrière. Merci en avance d'avoir lu en entier et de répondre :D
Bonjour, si cela convient à ton usage et au programme que tu voulais faire, ce n'est pas un souci en soit. Python offre justement cette possibilité de travailler avec ces méthodes spéciales (comme getattr et setattr, entre autres) pour pouvoir si besoin, modifier leur comportement. Je pense surtout que ton code sera améliorable dans son implémentation, la séparation des responsabilités, afin de rendre cela le plus générique possible. Pense à l'évolution de ce dernier, sur sa maintenance, et si tu as bien écrit ton code de sorte de pouvoir "facilement" ajouter/changer des fonctionnalités, sans casser le code existant 👍
Non, mais il suffit de (re)définir la méthode __iter__. Après, j'ai prévu un tutoriel sur les itérateurs et générateurs en Python ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Les méthodes spéciales sont...spéciales. Dans le sens où elle sont souvent appelées de manière implicite lors de l'exécution d'un programme et selon le cas. Les redéfinir permet donc de modifier le comportement par défaut de Python. Par exemple, en redéfinissant la méthode spéciale str, tu changeras le comportement d'affichage d'une donnée avec la fonction print() : pastebin.com/Y6h7tcCu ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Ah, quelqu'un a fait la même remarque sur le lapin bien nourri, il y a quoi...1 heure 😄 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
merci Jason, je suis maintenant ta formation de python, merci d'ajouter des exercices et de cours avancées, merci bcp
De rien, ça viendra sur la chaîne :) !
Hello, à 10:16 tu peux directement retourner self.weight==other.weight (si tant est que ces propriétés sont définies). Ça permet de hacker un peu le code. Je ne connaissais pas __repr__(). On se sert souvent des méthodes spéciales avec Django, notamment __str__().
À plus 👋
Édit : j’ai rien dit, tu le fais juste après à 10:48 😁
😉
Merci beaucoup, ce cours m'est d'une grande utilité =). Aurais tu un conseil; je comprend les codes pythons (en général), quand je l'ai lis, mais je n'arrive pas à mettre en lien tous les concepts de base .... ?!
Bonjour, normalement si tu as les concepts assimilés, ça devrait aller tout seul.
Après c'est surtout les fonctions/méthodes utilisées qui peuvent être connues ou non, surtout si un code utilise et importe des modules et bibliothèques tierces.
J'ai voulu tester la méthode spéciale __new__ mais j'ai du mal à m'en servir correctement, à comprendre comment ça interagit avec __init__ et avec l'héritage, si tu as des conseils à m'apporter je suis preneur
Voilà un exemple tout simple : pastebin.com/VtcsRxEZ
Bonjour ! Je me demandais, j'ai une utilisation un peu spéciale (ou pas du tout en fait, justement je sais pas) des méthodes __getattr__ et __setattr__ . Par exemple, je me suis récemment amusé à créer une classe pour les couleurs, et le problème était que la classe doit contenir les attributs : hex, rgba, rgb, r, red, g, green, b, blue, a et alpha, et ça demande un minimum de code de mettre à jour tous ces attributs à chaque fois qu'un seul d'entre eux est modifié. Alors pour éviter de trop me casser la tête, je n'ai créé que les attributs hex et rgba, et fait en sorte que tout les autres soit accessible via les méthodes __getattr__ et __setattr__ (en utilisant plein de if/elif : if name == "r" or name == "red" : return self.rgba[0]). Donc je me demandais si c'est une bonne pratique ou si ça pose trop de problème derrière.
Merci en avance d'avoir lu en entier et de répondre :D
Bonjour, si cela convient à ton usage et au programme que tu voulais faire, ce n'est pas un souci en soit. Python offre justement cette possibilité de travailler avec ces méthodes spéciales (comme getattr et setattr, entre autres) pour pouvoir si besoin, modifier leur comportement.
Je pense surtout que ton code sera améliorable dans son implémentation, la séparation des responsabilités, afin de rendre cela le plus générique possible. Pense à l'évolution de ce dernier, sur sa maintenance, et si tu as bien écrit ton code de sorte de pouvoir "facilement" ajouter/changer des fonctionnalités, sans casser le code existant 👍
Y a t il un video pour la méthode d'iteration ?
Non, mais il suffit de (re)définir la méthode __iter__. Après, j'ai prévu un tutoriel sur les itérateurs et générateurs en Python
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
@@formation-video merci bcp
Merçi proffesseur
Mais de rien, à bientôt pour un nouveau tutoriel !
Pourquoi préférer utiliser une méthode spéciale au lieu d'une méthode qu'on crée nous même ?
Les méthodes spéciales sont...spéciales. Dans le sens où elle sont souvent appelées de manière implicite lors de l'exécution d'un programme et selon le cas. Les redéfinir permet donc de modifier le comportement par défaut de Python. Par exemple, en redéfinissant la méthode spéciale str, tu changeras le comportement d'affichage d'une donnée avec la fonction print() : pastebin.com/Y6h7tcCu
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Le pauvre coco avait au début une sacrée surcharge pondérale
Et quand il a maigrit il devait sérieusement ressembler à un charpé
Ah, quelqu'un a fait la même remarque sur le lapin bien nourri, il y a quoi...1 heure 😄
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖