Formation en Développement: PYTHON - Perfectionnement (4-062) - Ascent Formation
Retour aux formations
Développement

PYTHON - Perfectionnement (4-062)

4 jour(s)24h

Description

Objectif général À l’issue de la formation, les participants seront capables d’exploiter les fonctionnalités avancées du langage Python pour concevoir des applications robustes et performantes, en intégrant des bonnes pratiques de développement et des outils spécialisés. Modalité : Toutes les modalités (présentiel, classe virtuelle et hybride) sont possibles Lieu possible de réalisation : Locaux du bénéficiaire ou locaux d’Ascent Formation, en France métropolitaine et dans les DROM-COM Nombre maximal de participants : 20 Niveau SAME visé : Application (A) Compétences visées Concevoir des applications complexes en utilisant des patterns de conception reconnus. Utiliser des techniques avancées pour optimiser les performances des programmes Python. Déployer des projets Python sous forme de packages ou modules. Exploiter des bibliothèques spécialisées pour des cas d’usage avancés.

Objectifs pédagogiques

  • Maîtriser les Design Patterns en Python pour structurer les projets complexes.
  • Exploiter les fonctionnalités avancées du langage Python, comme les métaclasses et les closures.
  • Optimiser les programmes grâce au parallélisme et à l’analyse des performances.
  • Packager et déployer des solutions Python prêtes à l’emploi.

Public concerné

Développeurs expérimentés souhaitant perfectionner leur maîtrise de Python.
Ingénieurs en développement logiciel et data science.
Toute personne impliquée dans des projets nécessitant des compétences avancées en Python.

Prérequis

Maîtrise des bases du langage Python (variables, boucles, conditions, fonctions).
Connaissance des concepts de base en programmation orientée objet.

Déroulé du programme

1

Jour 1 : Design Patterns et techniques avancées (6 heures)

6h
  • Introduction aux Design Patterns (2 heures)
2

Principes et avantages des Design Patterns.

3

Patterns courants en Python (Singleton, Factory, Observer).

4

Travaux pratiques : Implémenter des patterns dans un projet.

  • Techniques avancées du langage Python (2 heures)
5

Context Manager (with), décorateurs, closures.

6

Utilisation des métaclasses pour le métaprogramming.

7

Travaux pratiques : Développer des fonctionnalités avec des techniques avancées.

  • Manipulation avancée des fonctions (2 heures)
8

Fonctions anonymes, arguments avancés (*args, **kwargs).

9

Travaux pratiques : Créer des fonctions paramétriques pour des cas pratiques.

10

Jour 2 : Optimisation des performances et parallélisme (6 heures)

6h
  • Optimisation des performances (2 heures)
11

Analyse des performances avec des outils comme cProfile et line_profiler.

12

Techniques de réduction du temps d’exécution.

13

Travaux pratiques : Optimiser un programme existant.

  • Gestion du parallélisme (2 heures)
14

Threads, processus, et le module concurrent.futures.

15

Synchronisation et gestion des ressources partagées.

16

Travaux pratiques : Implémenter des tâches parallèles dans une application.

  • Monitoring et débogage avancé (2 heures)
17

Outils de monitoring (ex : psutil).

18

Travaux pratiques : Développer un script pour surveiller l’utilisation des ressources d’un programme Python.

19

Jour 3 : Packaging et déploiement (6 heures)

6h
  • Packaging des projets Python (3 heures)
20

Création de modules et packages.

21

Utilisation de setuptools et création de distributions pip installables.

22

Travaux pratiques : Packager un projet Python et le publier sur PyPI.

  • Déploiement des projets (3 heures)
23

Introduction aux conteneurs avec Docker.

24

Déploiement sur un serveur ou une plateforme cloud.

25

Travaux pratiques : Conteneuriser et déployer une application Python sur un serveur.

26

Jour 4 : Bibliothèques spécialisées et projet final (6 heures)

6h
  • Exploration de bibliothèques avancées (3 heures)
27

Pandas et NumPy pour le traitement de données.

28

Scikit-learn pour l’Intelligence Artificielle.

29

Manipulation XML avec ElementTree et gestion réseau avec socket.

30

Travaux pratiques : Résoudre un problème complexe en utilisant ces bibliothèques.

  • Projet final (3 heures)
31

Scénario : Concevoir une application Python complète et optimisée (exemple : gestion de données avec une interface graphique).

32

Travaux pratiques : Réalisation du projet sous supervision du formateur.

Informations

Durée

4 jour(s)

24h

Tarif

2850 € HT

HT

Prochaines sessions