Cours Python POO next level — Programmation Orientée Objet

Maîtrisez la POO Python en profondeur — Devenez un meilleur architecte Python, écrivez du code modulaire et maintenable

Ratings 3.95 / 5.00
Cours Python POO next level — Programmation Orientée Objet

What You Will Learn!

  • Les bases de la POO et les concepts avancés de POO (cours en profondeur)
  • Techniques avancées de POO comme l'héritage multiple, la MRO et les Mixins pour une architecture pro (comme dans Django, Tensorflow ou Airflow)
  • Créer des classes aux fonctionnalités avancées qui se comportent comme des listes ou des dictionnaires, par exemple (gros gain de productivité)
  • Ne plus jamais oublier SELF dans une méthod et comprendre d'où vient cet argument supplémentaire que tous les débutant-es oublient
  • Le processus de création d'objet (sous le capot, ici on va en profondeur pour passer au niveau supérieur)
  • Comment faire des getter et setter complexes grace au Décorateur Property
  • (et bien, bien plus, regardez la description plus bas pour en savoir plus)
  • Une initation au design pattern d'injection de dépendences (hyper utile pour l'architecture avancée)

Description

La programmation orientée objet (POO) est un modèle de programmation énormément utilisé dans l'industrie.


La maîtrise des concepts de la POO vous permet d'écrire du code lisible, maintenable, réutilisable et globalement plus élégant. Ce qui sépar les programmeurs-se les plus performant-es des programmeurs-se moyen-es.

C'est une compétence indispensable pour passer au niveau supérieur et ne plus être JUNIOR.


Pourquoi?

Parceque Python est construit sur des concepts de POO.

Tout en Python est en fait un objet ! (et on verra ce que ça implique dans le cours)

Cela signifie que votre compréhension du langage de programmation Python n'est pas complète tant que vous n'avez pas complètement intériorisé les concepts de POO et compris comment appliquer ces concepts en Python.


Donc, si vous voulez être un-e programmeur-se Python solide, comprendre les concepts de la POO, apprendre à concevoir, implémenter et appliquer ces concepts dans votre code est crucial.


En plus de ça dans ce cours, on va parler de concepts avancés comme les Design Pattern et définir les notions clefs de POO et pleins d'autres trucs qui vous permettront de briller en entretien d'embauche


Lisez la liste ci-dessous si vous ne me croyez pas!


Ce que vous apprendrez

  • Apprendre les concepts fondamentaux de la programmation orientée objet (normal, faut bien commencer quelque part, et c'est d'ailleurs ici que les cours grands publics s'arrêtent . . .)

  • Apprendre les concepts AVANCÉS de la programmation orientée objet en Python (ahhh c'est pour ça qu'on est là)

  • À Gagner en productivité en écrive du code propre qui est réutilisable, modulaire et facile à maintenir.

  • Comment faire de l'Introspection d'objet avec le module d'inspection (j'adore cette partie, je trouve ça OUF!)

  • Bonnes et mauvaises pratiques lors de l'écriture de code POO ... comme ...

  • ... Pourquoi l'héritage multiple est risqué et comme utiliser la MRO (method resolution order) et les arguments avancés de la méthode SUPER() pour le faire de manièré sécurisée (ce concept tombe souvent en entretien d'embauche)

  • ... Et aussi les pratiques avancées comme l'utilisation de MIXIN (utilisées par des frameworks pro Django, Tensorflow & Airflow, par exemple) -- cette partie aussi j'adore, je trouve ça tellement élégant comme manière de coder

  • Pourquoi l'héritage favorise le polymorphisme (deux concepts importants de programmation et pour les entretiens)

  • Ce que veut dire l'adage "Privilégier la Composition à l'Héritage" en Programmation Objet générale (et en Python)

  • Comment créer des classes qui se comportent comme des listes/dictionnaires/fonctions ou autres types builtins. -- (ça aussi c'est la classe!, sans mauvais jeu de mots)

  • ATTENTION SPOILER: pour le point ci-dessus, ce n'est PAS en héritant du builtin, il faut hériter d'un objet importé d'un module standard peu connu, afin d'éviter les problèmes (car les types builtin ne sont pas compatibles à 100% avec l'héritage, ce qui cause des bugs très durs à dénicher)

  • Les nouvelles Dataclass qui font gagner un temps fou quand on fait de la datascience et sont utilisés par exemple par FastAPI.

  • Les méthodes Magiques en Python (oui, magic method est le terme utilisé dans la doc officielle, c'est pas moi qui invente, je vous jure)

  • Comment utiliser le décorateur @Property pour faire des getter et setter complexes (et on apprendra ce que ça veut dire dans le cours)

  • Le design pattern d'injection de dépendence (important pour passer au niveau supérieur et commencer à écrire des micro-services)

  • Comment utiliser le décorateur @Property pour réduire le couplage de notre code et s'économiser du boulot ET des bugs.


En gros on va aller au fond des choses et après ce cours vous ne verrez PLUS JAMAIS python comme avant.
Vous allez passé à un niveau supérieur de compréhension du langage Python.


Ce cours est pour vous si vous avez déjà suivi un cours d'introduction à Python et avait déjà codé plusieurs scripts / notebooks / programme avec et que vous souhaitez dépasser le niveau de JUNIOR.


Ce cours est aussi pour vous si vous souhaitez comprendre les Python en profondeur et aller au fond des choses pour VRAIMENT commencer à maîtriser la POO en Python. (et passer au niveau supérieur)


ATTENTION CE N'EST PAS UN COURS PYTHON DEBUTANT, NE SUIVEZ PAS CE COURS SI VOUS N'AVEZ JAMAIS FAIT DE PYTHON OU QUE VOUS VENEZ JUSTE DE COMMENCER PYTHON.

(revenez dans quelques mois, pour de vrai, dans ce cours on va voir des concepts avancés qui vont vous perdre si vous venez juste de débuter)


Si vous être prêt-e à passer au next level, suivez le guide et on se retrouve de suite à l'intérieur de cette formation python niveau intermédiaire.

Let's go!


Rémi


PS. Liste des concepts vu dans le cours
classe, instance, poo/oop , paradigme objet, omniprésence des objets en Python, methode, attributs, @classmethod, @staticmethod, design patterns, injection de dépendences, properties, décorateur, recursivité, introspection Python, module inspect, magic methods, operator overloading, composition, polymorphisme, héritage simple; héritage multiple; method resolution order (MRO), C3 Linearization, mixins, constructeur, __init__, __repr__, __dict__, __getitem__ (+set+del), couplage, UserDict, UserString, UserList, ABCs, abstract base class, @abstractmethod et plus encore...


Dis comme ça ça fait peur, mais en vrai c'est ultra-passionnant, perso j'adore, et apprendre ça va vous faire gagner un gros boost dans votre niveau (une fois que vous l'aurez digéré héhé)


Si t'es passionné-e comme moi (ou juste que tu veux avancer ta carrière, y'a pas de mal :p ) rejoins moi à l'intérieur!

Who Should Attend!

  • Débutant-es en Python prêt à passer à la vitesse supérieure

TAKE THIS COURSE

Tags

  • Object Oriented Programming
  • Python
  • Python Scripting
  • Software Architecture

Subscribers

398

Lectures

43

TAKE THIS COURSE



Related Courses