Formation: Python avancé

Python est un langage de programmation utilisé avec succès par de nombreuses entreprises comme Google ou la NASA pour des applications professionnelles.

Python est pensé pour optimiser la productivité des développeurs grâce à une syntaxe claire et une large gamme de librairies pour couvrir presque tous les besoins.

Python est un langage moderne soutenu par une communauté très active passionnée par ce langage étonnant.

Python est, sans aucun doute, un excellent choix technologique pour développer vos logiciels professionnels.

Objectifs

La formation a pour but d'approfondir les connaissances du langage Python afin d'en comprendre les bonnes pratiques et de pouvoir tirer le meilleur parti de Python pour créer des logiciels de qualité professionnelle.

  • Comprendre les notions avancées du langage
  • Connaître les bonnes pratiques de développement
  • Savoir quelle librairie utiliser pour un contexte donné
  • Maîtriser la programmation objet en Python

Déroulement de la formation

Durée 2 jours.

Cette formation est à destination des personnes ayant une connaissance préalable des notions de base du langage Python.

La formation peut-être réalisée en inter-entreprises ou en intra-entreprise. Elle est limitée à un total de 6 participants.

La formation est construite autour d'exercices pratiques dont le but est d'appréhender chaque notion étudiée. Elle est basée sur un dialogue entre les participants et le formateur afin d'adapter le contenu au contexte des participants.

Programme

Le programme de la formation peut-être adapté en fonction des besoins des stagiaires. Merci de nous contacter pour définir les adaptations possibles

Retour sur les notions de base

  • Les dates
  • Les nombres réels
  • Pièges usuels

Notions avancée du langage

  • Les listes de compréhensions
  • Gestion des ensembles avec le type set
  • Le mot clé with
  • Les fonctions lambda
  • Les décorateurs
  • Les itérateurs et les générateurs

Programmation objet en Python

  • Encapsuslation, héritage, polymorphisme
  • Nouveaux et anciens types de classes
  • Les méthodes de classes et statiques
  • L'héritage multiple
  • Les propriétés

Bonnes pratiques

  • Quelques principes de programmation en Python : réutilisation, simplicité, gestion d'erreurs
  • La documentation du code.
  • Les tests unitaires. Calcul du taux de couverture des tests.
  • L'analyse statique du code avec pylint pour la détection d'erreurs
  • virtualenv pour virtualiser l'installation
  • Utiliser ant pour automatiser la génération du code

Mise au point du code et finalisation d'application

  • Outils de développement
  • Déboggage
  • Utilisation de module de logging
  • Profilage de code
  • Déployer une application Python (py2exe ...)

Aperçu des meilleurs librairies Python

  • Interface graphique : Tk, wxPython, Qt ...
  • Web : Django, Bottle, BeautifulSoup ...
  • Programmation réseau : Twisted, Tornado, Websockets ...
  • Bureautique: fichiers Excel, PDF, Scripting Open-Office ...
  • Base de données : SQLAlchemy, pickle, Bases SQL et No-SQL ...
  • Multimédia : PIL, tk-snack ...
  • ...

Interopérabilité

  • Le module ctypes pour interfacer du code C
  • Ecrire une extension en C++ avec PyCpp
  • données binaires avec le module struct
  • Echange de données facile avec le format JSON
  • Python pour Java et .NET

Luc JEAN

09.65.20.15.70

ljean@apidev.fr

Luc JEAN