Durée : 2 jours (12 heures)
Rappels sur les concepts avancés en Python
Compréhension approfondie des types de données (mutable vs immutable)
Concepts d’itérateurs et générateurs
Expressions lambda, map, filter et reduce
Programmation orientée objet (OOP)
Héritage multiple
Méthodes magiques et surcharge d’opérateurs
Métaclasses et classes abstraites (ABC)
Propriétés dynamiques (@property, @staticmethod, @classmethod)
Gestion des erreurs et des exceptions
Création de classes d’exception personnalisées
Blocs try imbriqués et gestion de contexte (with et contextlib)
Manipulation d’erreurs de flux d’E/S et de base de données
Programmation fonctionnelle
Fonctions d’ordre supérieur
Comprendre et utiliser les fonctions comme objets de première classe
Utilisation de functools (partial, reduce, lru_cache)
Fonctions décoratrices avancées et décorateurs paramétrés
Générateurs et itérateurs
Utilisation avancée des générateurs avec yield et yield from
Création d’itérateurs personnalisés
Générateurs pour les traitements de flux de données
Expressions et compréhensions complexes
Compréhensions imbriquées de listes, dictionnaires et ensembles
Utilisation de générateurs pour les grandes séquences de données
Évaluation paresseuse et optimisation mémoire
Gestion des fichiers et des flux de données
Lecture et écriture avancée avec des fichiers texte et binaires
Utilisation de StringIO et BytesIO pour les flux en mémoire
Traitement de fichiers volumineux en utilisant les générateurs
Sérialisation et désérialisation de données
JSON, CSV, XML et YAML
Introduction à la sérialisation avancée avec pickle et dill
Sécurité et bonnes pratiques de sérialisation
Gestion des formats de données complexes
Accès aux bases de données avec sqlite3
Manipulation des données avec pandas
Introduction au parsing XML et HTML (ElementTree, BeautifulSoup)
Programmation multithread
Concepts de base des threads en Python (threading)
Verrous, conditions, et gestion des races (race conditions)
Utilisation de ThreadPoolExecutor pour simplifier le multi-threading
Multiprocessing et gestion des processus
Manipulation et optimisation de données
Optimisation des performances
Profiler le code avec cProfile et timeit
Optimisation de la mémoire et de la vitesse (réduction de la complexité)
Techniques de caching avec lru_cache
Utilisation avancée des collections et des structures de données
Traitement avancé avec pandas
Utilisation de numpy pour le calcul scientifique
Graphiques et visualisations avec matplotlib et seaborn
Module 6 : Développement et structuration d’applications
Structuration d’un projet Python
Introduction aux sockets
Création d’un serveur et d’un client TCP simple
Concepts de base de la programmation réseau avec socket
Accès aux API RESTful
Je veux recevoir une offre pour ce cours
© DCIT Sàrl – 2013-2024