Sommaire
Introduction
La calculatrice Python
Contrôle du flux d’instructions
Conteneurs standard
Fonctions et espaces de noms
Modules et pages
La Programmation Orientée Objet
La POO graphique
Techniques avancées
A Interlude
B Passer du problème au programme
C Jeux de caractères et encodage
D Les expressions régulières
E Exercices corrigés
Bibliographie et Webographie
Memento Python
Abrégé dense Python
Index
Glossaire
Table des matières
Avant-propos
À qui s’adresse ce cours?
Utilisé à l’origine par les étudiants de Mesures Physiques de l’IUT d’Orsay, ce cours s’adresse plus
généralement à toute personne désireuse d’apprendre Python en tant que premier langage de program-
mation.
Ce cours se veut essentiellement pratique. D’une part en fournissant de très nombreux exemples et
une vingtaine d’exercices corrigés, et d’autre part en proposant plusieurs moyens de naviguer dans le
document : un sommaire en début et une table des matières détaillée en fin, un index et un glossaire, tous
deux munis d’hyperliens.
Cette introduction reposent sur quelques partis pris
Le choix du langage Python version , version qui abolit la compatibilité descendante avec la série
des versions .x dans le but d’éliminer les faiblesses originelles du langage.
Le choix de logiciels libres ou gratuits :
des interpréteurs ou éditeurs spécialisés comme IPython, spyder ou Wingware;
des outils open source de production de documents : le moteur X Ǝ T E X , le script latexmk , l’édi-
teur TeXworks et le logiciel de création de diagrammes Dia.
Enfin sur l’abondance des ressources et de la documentation sur le Web!
Numéro de version?
Suivant l’exemple de Donald Knuth, l’inventeur du logiciel de composition T E X, le numéro de la i e ver-
sion de ce document, au lieu d’être « . » ou « .. », est la i e décimale d’un nombre célèbre .
Pour joindre les auteurs
k pycours@kordeo.eu
k laurent.pointal@limsi.fr
Ce premier chapitre introduit les grandes caractéristiques du langage Py-thon, le replace dans l’histoire des langages informatiques, donne les parti-cularités de production des programmes, définit la notion si importante d’al-gorithme et conclut sur les divers implémentations disponibles.. Principales caractéristiques du langage PythonHistorique : Guido van Rossum travaille aux Pays-Bas sur le projet AMOEBA, un système d’exploita-tion distribué. Il conçoit Python à partir du langage ABC et publie la version .. sur un forumUsenet : sortie de Numerical Python, ancêtre de numpy : naissance de la PSF (Python Soware Fundation)Les versions se succèdent… Un grand choix de modules est disponible, des colloques annuelssont organisés, Python est enseigné dans plusieurs universités et est utilisé en entreprise… : première sortie de IPythonFin : sorties simultanées de Python . et de Python . : versions en cours des branches et : v.. et v..Langage Open SourceLicence Open Source CNRI, compatible GPL, mais sans la restriction copyle. Donc Python estlibre et gratuit même pour les usages commerciauxGvR (Guido van Rossum) est le « BDFL » (dictateur bénévole à vie!)Importante communauté de développeursNombreux outils standard disponibles : Baeries includedTravail interactifNombreux interpréteurs interactifs disponibles (notamment IPython)Importantes documentations en ligneDéveloppement rapide et incrémentielTests et débogage outillésAnalyse interactive de donnéesLangage interprété rapideInterprétation du bytecode compiléDe nombreux modules sont disponibles à partir de bibliothèques optimisées (souvent écrites enC ou C++)Simplicité du langage (cf. annexe A p. ) :Syntaxe claire et cohérenteIndentation significative