excellent tuto. merci. Je dois faire plus de recherches dans la doc pour trouver des modules et structures vraiment cool et qui rende le code performant. Stp peux tu faire un tuto sur des notions comme la programmation asynchrone et les fichiers en python ?
Question bête, c'est cool dans certain cas Enum car cela offre plus de possibilité que de simple constante dans un module. Mais de simple constante dans un module fonctionne bien aussi non ?
Bonne remarque, on peut faire les deux, les opérateurs de comparaison étant définis. La documentation préfère au début la comparaison par identité avec is : docs.python.org/3/library/enum.html#comparisons Attention cependant à ne pas essayer de comparer la valeur associée à une énumération à un nombre entier, ça ne fonctionnera pas à moins d'utiliser le type particulier de IntEnum.
Effectivement, j'ai hésité à en parler, mais je trouve que ce n'est encore pas forcément le plus simple. Je préfère l'approche avec un dictionnaire perso, rétrocompatible et plus claire selon-moi, un peu moins puissante selon les situations. Bref, c'est un sujet à part entière et je ne voulais pas m'embarquer là dedans pour cette vidéo mais j'ai prévu des vidéos sur le sujet :) Pour le dictionnaire j'en avais parlé ici (et c'était avant la sortie de 3.10 d'ailleurs) : th-cam.com/video/evlLjwZ1Lg0/w-d-xo.html
s 'il vous plait est ce que vous pouver m 'aider a faire cet exercice : a partir d'une chaine ch introduite par l' utilisateur on veux créer une variable qui contient tout les chiffres et une autre qui contient tout les lettres
désolé je risque de mettre ce msg sur tes video le temp que justice sois faite ^^' ayant un problème sur la formation je voulais m'aidé du discord mes il faux au moin jsp cb de manipulation pour avoir accès ducoup j'envois un msg a un modo mm si je sais que malheureusement on n'a pas le droit je m'excuse quand mm en lui envoient le msg sa seule chose qu'on fais pour maidé c'est me ban def sans aucune explication ou justification sa alors je trouve sa totalement inacceptable pour une personne qui cherche juste a apprendre le python
Bonjour, nous avons effectivement mis en place une série de 4-5 questions avant de donner accès au serveur afin de savoir à qui nous avons affaire et pour limiter le nombre de gens qui venaient demander de l'aide de façon complètement gratuite et désordonnée. C'est la condition nécessaire pour garder une communauté saine et qui continue d'exister après plusieurs années. Je peux regarder ton cas si tu me donnes ton pseudo mais nous ne banissons pas les gens sans raison à moins qu'ils ne fassent pas le moindre effort pour répondre à ces quelques questions que nous demandons au début.
@@Docstring Je vous remercie énormément de votre réponse mon pseudo: Ikono#1080 ayant eu un problème de visibilité de channel j'ai donc prit la décision de faire parvenir un message malgré la règle précisent bien de ne pas contacté un modérateur et je pense que ceci doit être mon erreur et peut être la raison de mon ban je m'en excuse
from dataclasses import dataclass @dataclass class Player: name: str health: str position: list def move(self, dir): if dir == Direction.b: print('toto') else: print("qui?") class Direction: a=1 b=2 c=3 jeff=Player('jeff',100,[0,0]) jeff.move(Direction.b) pas vraiment besoin d'enum dans ce cas
Effectivement, mais les enum ont d'autres avantages (dont je ne parle pas dans cette vidéo). Par exemple le fait que les enum sont immuables, tu ne peux pas modifier leur valeur, ce qui pourrait causer beaucoup de problèmes dans un script. Au niveau des comparaisons également, et aussi de l'intention. En créant une classe qui hérite d'enum on comprend directement que la classe ne sert qu'à ça, ça peut paraître futile mais quand on travaille à plusieurs sur un projet, le code est beaucoup plus facile à comprendre qu'avec une classe Direction classique qui, on pourrait penser, aurait vocation à être étendue.
Merci pr le partage, ce format est sympa !
excellent tuto. merci. Je dois faire plus de recherches dans la doc pour trouver des modules et structures vraiment cool et qui rende le code performant. Stp peux tu faire un tuto sur des notions comme la programmation asynchrone et les fichiers en python ?
Merci pour les efforts fournis cher Thibault
Ça fait plaisir ;)
Très bien expliqué
Merci !
Ahhhhh super cool, j'ai appris un truc
Question bête, c'est cool dans certain cas Enum car cela offre plus de possibilité que de simple constante dans un module. Mais de simple constante dans un module fonctionne bien aussi non ?
Sa me fait penser au langage C avec sa fonction enum qui a. Très belle vidéo, je vais pouvoir utiliser cette astuce :D
C'est un concept qu'on retrouve dans de nombreux langages, Java aussi par exemple :)
On peut aussi heriter de str en même temps que enum;)
Comme ca on peut utiliser des codes alphanumériques aussi
Clair et concis super vidéo :)
🙏
T'es bon
👌
Ca ne serait pas plus adapté de comparer les instances d'énumération avec "is" plutot que "==" ?
Bonne remarque, on peut faire les deux, les opérateurs de comparaison étant définis. La documentation préfère au début la comparaison par identité avec is : docs.python.org/3/library/enum.html#comparisons
Attention cependant à ne pas essayer de comparer la valeur associée à une énumération à un nombre entier, ça ne fonctionnera pas à moins d'utiliser le type particulier de IntEnum.
Sinon au passage... Python 3.10 (par défaut sur Fedora) y'a le match case qui évite cette syntaxe lourde de if elif..
Effectivement, j'ai hésité à en parler, mais je trouve que ce n'est encore pas forcément le plus simple. Je préfère l'approche avec un dictionnaire perso, rétrocompatible et plus claire selon-moi, un peu moins puissante selon les situations. Bref, c'est un sujet à part entière et je ne voulais pas m'embarquer là dedans pour cette vidéo mais j'ai prévu des vidéos sur le sujet :) Pour le dictionnaire j'en avais parlé ici (et c'était avant la sortie de 3.10 d'ailleurs) :
th-cam.com/video/evlLjwZ1Lg0/w-d-xo.html
s 'il vous plait est ce que vous pouver m 'aider a faire cet exercice : a partir d'une chaine ch introduite par l' utilisateur on veux créer une variable qui contient tout les chiffres et une autre qui contient tout les lettres
désolé je risque de mettre ce msg sur tes video le temp que justice sois faite ^^' ayant un problème sur la formation je voulais m'aidé du discord mes il faux au moin jsp cb de manipulation pour avoir accès ducoup j'envois un msg a un modo mm si je sais que malheureusement on n'a pas le droit je m'excuse quand mm en lui envoient le msg sa seule chose qu'on fais pour maidé c'est me ban def sans aucune explication ou justification sa alors je trouve sa totalement inacceptable pour une personne qui cherche juste a apprendre le python
Bonjour, nous avons effectivement mis en place une série de 4-5 questions avant de donner accès au serveur afin de savoir à qui nous avons affaire et pour limiter le nombre de gens qui venaient demander de l'aide de façon complètement gratuite et désordonnée. C'est la condition nécessaire pour garder une communauté saine et qui continue d'exister après plusieurs années. Je peux regarder ton cas si tu me donnes ton pseudo mais nous ne banissons pas les gens sans raison à moins qu'ils ne fassent pas le moindre effort pour répondre à ces quelques questions que nous demandons au début.
@@Docstring Je vous remercie énormément de votre réponse mon pseudo: Ikono#1080 ayant eu un problème de visibilité de channel j'ai donc prit la décision de faire parvenir un message malgré la règle précisent bien de ne pas contacté un modérateur et je pense que ceci doit être mon erreur et peut être la raison de mon ban je m'en excuse
from dataclasses import dataclass
@dataclass
class Player:
name: str
health: str
position: list
def move(self, dir):
if dir == Direction.b:
print('toto')
else:
print("qui?")
class Direction:
a=1
b=2
c=3
jeff=Player('jeff',100,[0,0])
jeff.move(Direction.b)
pas vraiment besoin d'enum dans ce cas
Effectivement, mais les enum ont d'autres avantages (dont je ne parle pas dans cette vidéo). Par exemple le fait que les enum sont immuables, tu ne peux pas modifier leur valeur, ce qui pourrait causer beaucoup de problèmes dans un script. Au niveau des comparaisons également, et aussi de l'intention. En créant une classe qui hérite d'enum on comprend directement que la classe ne sert qu'à ça, ça peut paraître futile mais quand on travaille à plusieurs sur un projet, le code est beaucoup plus facile à comprendre qu'avec une classe Direction classique qui, on pourrait penser, aurait vocation à être étendue.