Python Secrets 0.1
Quel est l'objectif de cette formation ?
Cette formation a pour but de te faire découvrir et apprendre tous les concepts les plus avancés du langage de programmation Python. Actuellement, on a uniquement les concepts qui sont expliqués mais dans le futur, je vais aussi expliquer comment utiliser tous ces concepts pour créer des fonctionnalités de meilleure qualité et être plus productif.
Une fois que la formation sera terminée, je vais commencer à ajouter des bonus sur des concepts qui te permettront de créer un code de meilleure qualité comme les design patterns, le TDD, le refactoring, etc.
Quels sont les contenus présents dans cette première version ?
J'ai commencé avec les concepts qui sont selon moi les plus importants. Le premier chapitre de la formation couvre les annotations de types. Il y a actuellement trois gros articles sur cette partie qui couvrent des bases des annotations de types, les annotations de types complexes et les annotations de classes. On a ensuite deux articles plus petits qui parlent des TypedDict
et de l'overloading.
Le second chapitre couvre les fonctionnalités avancées de programmation orientées objets. On a actuellement sept articles qui couvrent les dataclasses, les énumérations, les propriétés, les classes abstraites, les dunder methods, les décorateurs (pas vraiment de la programmation orientée objets mais il n'y a pas encore de chapitre sur la programmation fonctionnelle) et toutes les fonctionnalités de gestion d'exceptions.
Quel sont les changements à attendre ?
Cette première version avait pour but d'avoir tous les concepts avancés de base expliqués. Dans la seconde version, mon but est d'expliquer tous les concepts les plus avancés et aussi plus simples du langage. Voici les articles qui vont être présents dans la prochaine version :
- Dans la partie sur la programmation orientée objets : La visibilité des éléments d'une classe, les différents types de méthodes et les descripteurs.
- Dans la partie sur la programmation fonctionnelle : Le pattern-matching et les fonctions d'ordre supérieur.
- Dans la partie sur les annotations de type :
TypeGuard
,TypeIs
,ParamSpec
,Unpack
,Annotated
, utiliser les interfaces decollections.abc
, les protocols, les annotations de types génériques,type
et@deprecated
.