Introduction
A l'heure actuelle, le monde du développement en Python est dual : deux
versions du langage (la 2 et la 3) se partagent le devant de la scène et
cette situation risque de durer encore un moment.
Pour prendre en compte cette réalité, la présente introduction met en
perspective les deux versions de Python, tout en mettant l'accent sur la
plus récente d'entre elles.
En s’appuyant sur les points communs entre Python et les langages de
programmation le plus répandus, on se propose ici de faire ressortir les
spécificités de Python et d’introduire, aussi tôt que possible au cours
de l’exposé, les idiomes et les bonnes pratiques permettant d’écrire des
programmes lisibles et efficaces, correspondant à l’esprit de ce langage.
Chaque participant doit apporter son propre ordinateur portable où il
a installé au préalable Python 2.7.x et Python 3.x.
Programme (provisoire)
- Introduction
- Python en quelques phrases
- L’esprit Python
- Une courte histoire de Python
- Python et les autres langages
- Découverte de l’interpréteur, premiers programmes
- Les éléments du langage
- Une vue d’ensemble
- Les entrées/sorties standard
- Les structures de contrôle
- Le types de base
- Les conventions de codage
- Les fonctions
- Une vue d’ensemble
- La portée des variables
- Signatures des fonctions
- La documentation des fonctions
- Fonctions anonymes (lambda)
- Concepts avancés
- Les fermetures (closures)
- Les décorateurs de fonctions
- Les générateurs
- Fonctions récursives
- Programmation fonctionnelle
- L’approche objet
- Classes et instances
- Les attributs
- Les méthodes
- La méthode __init__()
- La documentation des classes
- Héritage
- Old style / New style classes
- Polymorphisme
- Encapsulation
- Agrégation d’objets
- Méthodes de classe
- La surcharge des opérateurs
- Modules et paquets
- La bibliothèque standard en bref
- La manipulation des fichiers
- Le module sys
- L’interface avec le système d’exploitation
- Les (sous)processus
- Le module platform
- L’accès à Internet
- Compression des données
- ConfigParser et json
- Mesure des performances
- Le module math
- Le module random
- Les expressions rationnelles (ou régulières)
- Les tests
- Le module doctest
- Le module unittest
- Outils divers
- L’installeur Pip
- Les environnements virtuels
- Le débogueur pdb
- Le module __future__