Python - avance

Data Value

Non finançable CPF
Tout public
Présentiel
Public admis
Salarié en poste
Demandeur d'emploi
Entreprise
Étudiant
Prix
1980 €
Durée
Nous contacter
Localité
En présentiel
Découvrez les localités disponibles pour suivre cette formation en présentiel.
En savoir plus sur les localités en présentiel
Cette formation est disponible dans les centres de formation suivants:
  • 75 - Paris 12e
Cette formation peut être dispensée dans votre entreprise dans les localités suivantes :
  • 75 - Paris
  • 77 - Seine-et-Marne
  • 78 - Yvelines
  • 91 - Essonne
  • 92 - Hauts-de-Seine
  • 93 - Seine-Saint-Denis
  • 94 - Val-de-Marne
  • 95 - Val-d'Oise
Objectifs
Maîtriser les concepts avancés de Python, notamment la programmation orientée objet, l'écriture de packages, la qualité logicielle et l'optimisation des performances


Compétences visées

- Maîtriser la programmation orientée objet en Python, y compris les types, les classes et la gestion des exceptions pour aborder des concepts avancés comme la méta-programmation.

- Développer et structurer des packages Python en respectant les meilleures pratiques avec la gestion de l'installation et de la distribution.

- Garantir la qualité du code Python en respectant les normes de codage, en écrivant des tests unitaires et en utilisant des outils d'analyse pour améliorer la couverture de test et l'optimisation des performances.

- Optimiser les performances des scripts Python, en utilisant des techniques de réduction de complexité, de multithreading et d'analyse de la mémoire.

- Créer des extensions Python en les interfaçant avec des langages comme C ou C++.
Programme
Programme

- Rappels de Programmation Orientée Objet

  • Types de base

  • Création de classes

    • Héritage, Polymorphisme...



  • Traitement des Exceptions

    • raise, try, except, finally



  • Le "Data-Model" et les fonctions "magiques"

  • Importations "avancées" - utilisation de . et ..


- Syntaxe avancée

  • Listes en "compréhension"

  • Itérateurs et générateurs

  • Modules itertools, collections

  • Lambda fonctions

  • Décorateurs

  • Instructions with et Contextlib

  • Instruction yield

  • Programmation asynchrone

  • Coroutines


- Classes avancées

  • Sous-classer les types de base

  • Résolution des héritages multiples

  • Cas de la méthode "super"

  • Descripteurs __get__ et __set__

  • Propriétés (properties)

  • dict__ et __slots__

  • Classes abstraites

  • Méta-programmation


- Introduction à l'écriture de packages

  • "Meilleures pratiques"

  • setup.py et scripts de contrôle

  • L'utilitaire pip

  • Installer un package

  • Désinstaller un package

  • Enregistrer et uploader un package


- Qualité logicielle

  • Annotations

  • Respect de la PEP 8 - normes de codage

  • Tests unitaires (doctest et unittest)

  • Taux de couverture - coverage


- Solutions d'optimisation

  • Réduction de la complexité

  • Bytecode et le module "dis"

  • Multithreading

  • Multiprocessing

  • Gestion des caches

  • Profiling

  • Analyse de l'occupation mémoire


- Interfaçage avec C / C++

  • Objectif et principe

  • SWIG

  • Cython

  • Le module ctypes
Haut de page