
Python Avancé
Cours Professionnel Complet sur les Concepts Avancés de Python
Ce que vous apprendrez
- Comprendre la programmation orientée objet, la classe et l'objet
- Utiliser le Constructor, les variables et les fonctions dans une classe
- Appliquer l'héritage et la classe abstraite
- Travailler avec Enum, json et les modules
- Travailler avec le module de date et d'heure
- Ouvrir des fichiers, les lire et y écrire
- Gérer les erreurs et les exceptions
- Se connecter à une base de données et créer des tables
- Ajouter, modifier et supprimer des données dans une base de données
- Réaliser des applications pratiques sur les tâches avancées
À propos du cours
Ce cours enseigne les tâches avancées en Python à toute personne qui a terminé les bases et veut développer des programmes plus importants. Il commence par la programmation orientée objet : la classe et l'objet, le constructeur, la différence entre Class Variable et Instance Variable, Class Method et Static Method, et le contrôle d'accès, puis l'héritage dans ses différents types, la classe abstraite et Enum. Vous apprenez ensuite json, les modules et le module de date et d'heure, puis la manipulation de fichiers en les ouvrant, en les lisant, en y écrivant et en les supprimant, et la gestion des erreurs avec Finally et else. Vous passez aux bases de données : les tables, la connexion à une base de données, et l'ajout, la lecture, la modification et la suppression de données. À la fin, des applications pratiques, un jeu de devinette, le travail avec les images et les captures d'écran, et l'enregistrement du son. Ce cours convient à toute personne qui connaît les bases de Python et veut passer au niveau suivant. Chaque leçon explique une seule idée avec un exemple simple pour que vous la compreniez avant de passer à la suite. À la fin, vous saurez construire des programmes organisés avec des classes qui travaillent avec des fichiers et des bases de données.
Résultats attendus
- Capacité à réaliser des projets avancés en utilisant Python.
- Gérer des fichiers et traiter les erreurs efficacement.
- Comprendre les fondamentaux de la programmation orientée objet et mettre en œuvre des applications pratiques.
- Créer des bases de données et les connecter à des projets de programmation.
Avis des apprenants
Contenu du cours
1Le modèle
4 leçons
- Le module (Partie un)Explique le Module comme un fichier py réutilisable dans un autre fichier, comment l'importer avec import, et comment accéder à ses fonctions et variables via le nom du Module.8:59
- Le module (Partie deux)Poursuit l'étude des Modules : importer directement des éléments précis avec from import sans écrire le nom du Module, et lui donner un alias plus court avec as.13:20
- Le module (Partie trois)Explique le Package comme un dossier regroupant plusieurs Modules, les façons d'en importer des fonctions avec les noms du Package et du Module, avec un exemple de fonctions de somme, de soustraction et d'affichage d'informations.11:14
- Gestion du module temps et dateExplique les modules de date et d'heure de Python comme time, calendar et datetime, et passe en revue les fonctions du module calendar pour afficher des calendriers ainsi que les plages valides du jour, du mois et de l'année.21:24
2Gestion des fichiers
5 leçons
- Introduction à la Gestion des FichiersIntroduit la gestion des fichiers en Python, montrant que les fichiers conservent les données contrairement aux variables en RAM qui disparaissent à la fin du programme, et présente quatre opérations : ouvrir, lire, écrire et fermer un fichier.7:13
- Ouverture d'un FichierExplique l'ouverture d'un fichier en Python avec la fonction open, ce qu'elle requiert comme le nom ou le chemin du fichier et le mode tel que r pour lire, w pour écrire et a pour ajouter, et le stockage du résultat dans une variable.18:39
- Lecture du Contenu du FichierExplique la lecture du contenu d'un fichier avec read, en entier ou sur un nombre précis de caractères, la lecture ligne par ligne avec readline, le parcours des lignes avec une boucle for, et la fermeture du fichier ensuite.12:12
- Écriture de Données dans un FichierExplique l'écriture dans un fichier selon deux modes : w, qui efface l'ancien contenu et réécrit, et a, qui conserve le contenu et ajoute à la fin, le fichier étant créé automatiquement s'il n'existe pas.10:49
- Suppression d'un FichierExplique la suppression d'un fichier depuis Python avec le module os et sa fonction remove, en vérifiant d'abord l'existence du fichier avec os.path.exists pour éviter une erreur, et en affichant un message de confirmation.8:47
3Gestion des erreurs
4 leçons
- Gestion des erreursExplique les deux types d'erreurs en Python, Syntax Error et Exception, les sources d'exceptions comme la saisie utilisateur ou la connexion serveur, et leur gestion avec try et except.14:54
- Gestion de plusieurs exceptionsExplique la gestion de plusieurs exceptions : répéter la saisie quand les données sont invalides, intercepter des types précis comme ZeroDivisionError dans des except séparés, et ajouter un except général pour les autres exceptions.14:42
- Utilisation de FinallyExplique finally avec try et except : son code s'exécute que le try réussisse ou qu'une exception survienne, ce qui sert à libérer des ressources comme fermer des fichiers et des connexions à une base de données.7:19
- Utilisation de ElseExplique l'usage de else avec try et except, dont le code ne s'exécute que si try réussit sans exception, séparant le code sujet aux erreurs du reste, avec un exemple vérifiant une clé dans un dictionnaire.18:35
4Programmation orientée objet
20 leçons
- Introduction à la Programmation Orientée ObjetIntroduit la programmation orientée objet OOP et sa nécessité pour gérer beaucoup de données, comme les employés d'une entreprise, au lieu de variables éparses, avec la Class comme modèle décrivant les attributs et les actions d'un objet.9:00
- Classe et Objet (Partie Un)Clarifie la relation entre Class et Object : la Class est un modèle décrivant propriétés et méthodes, et l'Object en est une instance réelle créée par instanciation, avec l'exemple des employés d'une entreprise.21:17
- Classe et Objet (Partie Deux)Poursuit l'exemple Class et Object avec un modèle de voiture ayant les attributs entreprise, modèle, vitesse maximale et année, puis la création d'un Object et l'accès à ses attributs avec la notation point.8:30
- ConstructeurExplique le Constructor, la méthode init qui s'exécute automatiquement à la création d'un Object et reçoit des données à affecter à ses attributs, en utilisant self pour désigner l'Object lui-même.15:28
- Différence entre la variable de classe et la variable d'instanceExplique la différence entre une Class Variable et une Instance Variable en Python, comment accéder à chacune, et ce qui se passe quand on modifie la valeur via la classe ou via l'objet.14:38
- Premier exerciceUn exercice pratique sur les Class Variables et Instance Variables dans une classe Employee, comme un compteur d'employés qui augmente à chaque nouvel objet, et une valeur par défaut pour une variable d'instance hors du constructeur.11:33
- Attribution de certaines fonctions à la classeExplique comment définir des fonctions dans une classe pour en faire des méthodes, utiliser self pour les appeler depuis un objet, et personnaliser l'affichage d'un objet lors de son impression.14:32
- Qu'est-ce que les attributs d'instanceExplique les instance attributes en Python, comment les lire et les modifier directement, et comment les fonctions intégrées hasattr, setattr, getattr et delattr les vérifient, modifient et suppriment.19:18
- Quelques attributs de classePrésente les attributs intégrés d'une classe Python comme la docstring, dict et module, et montre que toute classe hérite automatiquement de la classe object.18:02
- Qu'est-ce que le décorateur de méthode de classeExplique le décorateur Class Method et la conversion d'une méthode d'instance en méthode de classe quand elle ne dépend que des variables de classe, et pourquoi une erreur survient si elle utilise des variables d'instance.16:02
- Gestion de la méthode statiqueExplique la Static Method, une fonction dans une classe qui ne reçoit ni self ni cls, comment l'appeler depuis le nom de la classe ou un objet, et sa différence avec les méthodes d'instance et de classe.8:15
- Gestion et définition des permissions d'accèsExplique les modificateurs d'accès public, protected et private en Python avec les underscores, la protection des données dans une classe, et l'usage de getters et setters pour lire et modifier les valeurs en sécurité.13:18
- HéritageExplique l'héritage entre une classe Parent et une classe Child, comment l'enfant réutilise les propriétés et méthodes sans les réécrire, et comment super donne accès au parent.14:10
- Premier type d'héritageExplique l'héritage simple avec une classe Animal et des classes Dog et Cat qui en héritent, chacune ajoutant ses propres méthodes comme bark et meow.11:48
- Deuxième type d'héritageExplique l'héritage multiniveau, où une classe hérite d'une classe qui hérite elle-même d'une autre, avec Animal, puis Dog, puis Rex Dog, et le passage des valeurs entre les niveaux.10:55
- Troisième type d'héritageExplique l'héritage multiple en Python, où une classe hérite de plusieurs classes, et présente isinstance et issubclass pour vérifier la relation d'un objet ou d'une classe avec une autre.9:02
- Contrôle et modification de la performance de la fonctionExplique le method overriding, où une classe enfant définit une méthode du même nom que celle du parent pour un comportement différent, et quelle version est réellement appelée.6:44
- Classe abstraiteExplique la classe abstraite comme modèle pour les classes enfants, non instanciable, avec le module abc, et un exemple d'employé à temps plein et à temps partiel dont le salaire est calculé différemment.24:06
- Qu'est-ce que l'énumérationExplique Enum en Python pour regrouper des constantes uniques sous un même nom, comme des couleurs, accéder au nom et à la valeur de chaque membre, et le fait qu'ils ne sont pas modifiables.22:05
- Explication de JSONExplique le format JSON et son utilisation en Python avec le module json, en convertissant du texte JSON en données avec loads et des données en texte JSON avec dumps.12:02
5Bases de données
7 leçons
- Introduction aux Bases de DonnéesIntroduit les bases de données comme moyen de stocker des données, la différence entre le type relationnel SQL comme SQLite et le non relationnel comme MongoDB, et les relations entre tables comme un à un et un à plusieurs.9:35
- Tables dans la Base de DonnéesExplique la structure des tables d'une base de données : une base nommée d'après le projet contient des tables, chacune avec des colonnes d'un type de données précis et des lignes représentant les enregistrements, en préparation des opérations CRUD.15:03
- Connexion à la Base de DonnéesExplique la connexion à une base SQLite depuis Python en important le module sqlite3 et en appelant connect avec un nom de fichier, ce qui ouvre la base si elle existe et la crée sinon.8:42
- Création de TablesExplique la création de tables SQLite depuis Python en exécutant une instruction CREATE TABLE via execute, avec les noms de colonnes et types de données comme TEXT et INTEGER, et la création de deux tables dans une même base.12:22
- Insertion de Données dans la Base de DonnéesExplique comment insérer des données dans une table SQLite depuis Python avec un cursor et la méthode execute, et pourquoi commit est nécessaire pour enregistrer les modifications.12:00
- Récupération de Données depuis la Base de DonnéesExplique comment récupérer des données d'une table via le cursor, et les différences entre fetchone, fetchmany et fetchall, notamment la reprise là où l'appel précédent s'est arrêté et le type de résultat retourné.15:57
- Modification et Suppression de Données dans la Base de DonnéesExplique la modification et la suppression de données dans les tables avec le cursor, les instructions UPDATE et DELETE, l'importance de la clause WHERE pour cibler une ligne, et commit pour enregistrer.9:35
6Tâches avancées
6 leçons
- Application des tâches - Partie unCommence la construction d'une application de tâches liée à une base de données, en validant la saisie de l'utilisateur avec strip et lower, puis en séparant les fonctions d'affichage, d'ajout, de mise à jour et de suppression dans un fichier distinct.16:30
- Application des tâches - Partie deuxPoursuit l'application de tâches avec SQLite, en créant la table, en ajoutant une tâche avec un titre et un pourcentage d'avancement, en enregistrant les changements et en fermant la connexion, puis en testant l'ajout et en validant la saisie.18:13
- Application des tâches - Partie troisPoursuit l'application de tâches en implémentant la fonction de mise à jour du titre et de l'avancement d'une tâche dans la base de données, en corrigeant des erreurs, avec des requêtes SELECT utilisant fetchone et fetchall, puis en la reliant à l'application.16:48
- Jeu de devinettesProjet de jeu de devinette où l'ordinateur choisit un nombre aléatoire dans une plage fixée par l'utilisateur, avec le module random, une boucle while, une limite d'essais calculée par un logarithme et la comparaison de chaque proposition.25:57
- Gestion des images et prise de captures d'écranProjet d'écriture d'un script Python qui capture l'écran avec la bibliothèque pyscreenshot et sa fonction grab, enregistre l'image via la bibliothèque Pillow, et installe les bibliothèques externes avec pip.12:55
- Gestion de l'audio et enregistrement du sonUn projet Python pour enregistrer le son sur l'ordinateur : installation d'une bibliothèque audio, réglage de la fréquence et de la durée d'enregistrement, puis sauvegarde dans un fichier wave.16:13
7Les accessoires
2 pièces jointes
- Téléchargement des Pièces Jointes de la Section Bases de Données
- Téléchargement des Pièces Jointes de la Section Tâches Avancées
Formateur

Ing. Amr Abdel Fattah
Ce cours fait partie du diplôme




