IB : 02. Python, perfectionnement
Organisme
92911 PARIS LA DEFENSE CEDEXVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Une attestation de fin de formation sera remise au stagiaire à l'issue de la formation
Prix
Public
Ingénieurs et développeurs.
Pré-requis
Disposer de bonnes connaissances en développement Python.
Objectifs pédagogiques
- Utiliser les techniques avancées du langage Python : Context Manager, métaclasses, closures, fonctions avancées
- Optimiser les performances de vos programmes à l'aide du monitoring et du parallélisme
- Packager et déployer ses artefacts Python
- Exploiter des librairies contribuant au succès du langage : calcul scientifique, Intelligence Artificielle, XML, réseau
Programme détaillé
EN PRÉSENTIEL / A DISTANCE
1. UTILISER LES "CONTEXT MANAGERS"
- Gestion des ressources en python : try ... finally, with, utilisation de with
- Utilisation de with : gérer des fichiers, analyser des répertoires, calculer en haute précision, manipuler des verrous en multithread, tester les exceptions avec pytest
- Résumer les avantages de with
- Utiliser Async avec et with
- Créer des "context Managers"
- Encodage des contextes : contexte simple, exceptions, ouverture de fichiers, redirection de sorties, temps d'exécution
- Context Manager par fonction : ouverture de fichiers version2, Temps
- Améliorer ses APIs
- Context manager asynchrone
2. UTILISER LES META-CLASSES
- Modes des metas : ancien mode vs nouveau mode
- Typage et classes
- Définir une classe dynamiquement : exemple de base, exemples avancés
- Créer une propre meta-classe
- Justification de l'utilisation
3. FONCTIONS INTERNES ET CLOSURE
- Création de fonctions internes
- Les bases des internes : encapsulation, construction, inner contre privé
- Conservation d'un état : méthode d'état, modifier l'état
- Ajouter un comportement
- Closure : attacher code et données, où trouver des closures, comment les utiliser au mieux
4. CONCURENCE ET PARALLELISME
- Exemples
- Accélérer un programme pour entrées/sorties : IO Synchrone, IO avec Thread, IO asynchrone
- Accélérer un programme pour CPU : CPU Synchrone, CPU avec Thread, CPU asynchrone
5. MONITORING
- Outils internes pré-installés
- Fonctions de timer
- Exemples de mise en oeuvre
- Outils et plates-formes externes : Datadog, Dynatrace, Manage engine
6. FREEZING, PACKAGING
- Différences entre les modes
- Avantages
- Outils de freezing : Windows, OSX, Linux
- Packaging : choisir un nom, structuration
- Publication sur PyPi
- Package complet : ajouter et ignorer des fichiers, dépendances du package, description meta du package, tests, ressources complémentaires
- Scripting de package
- Assemblage final
7. FRAMEWORKS SPECIALISES
- XML : Standards (DOM, SAX, StAX), librairies en python, modules externes (untangle, xmltodiict, lxml, BS), conversion et Binding (XPath, génération de modèles objet), sécurisation de parsers
- IA et ML : Tensorflos, Seaborn, Numpy, Pandas, Jeras, Theano, PyTorch, Scikit-learn
- Sciences : Numpy, Pandas, SciPy, Matplotib
- Web : Django, Flask, Bottle, CherryPy, Falcon
- Autres frameworks métiers : Bio, Astronomie, OLAP, Finance, Géologie,...
LES PLUS DE LA FORMATION
- Une formation très concrète : les participants réalisent des exercices pratiques qui assurent l'acquisition d'un savoir-faire pour une mise en production aisée et immédiate.
- De nombreux retours d'expériences de consultants-formateurs spécialistes du développement d'applications pour la mobilité.
- Répartition théorie/pratique : 40% / 60%
- Cette formation se compose d’une alternance d’apports théoriques, de travaux pratiques s’articulant autour d’une application fil rouge, de démonstrations, de phases d’échanges entre participants et de synthèses de la part du formateur.