Ressources didactiques Gérard Swinnen logo pythomium

Apprentissage de la programmation

Couvertures

Vous trouverez ci-dessous :

Note : Les deux versions proposées ici correspondent en tous points à la première et à la troisième édition de l'ouvrage publiées chez Eyrolles, respectivement en Février 2009 (version adaptée à Python 2) et en Janvier 2012 (version adaptée à Python 3). Il s'agit donc en fait des troisième et cinquième éditions au total, puisque l'ouvrage a d'abord fait l'objet de deux éditions successives chez l'éditeur O'Reilly. Elles sont destinées à tous ceux qui veulent découvrir la programmation et le langage Python sans devoir investir des sommes importantes (en particulier les étudiants). Si vous trouvez ce texte intéressant, et si vous en avez les moyens, nous vous suggérons cependant d'acheter la version imprimée : ainsi vous disposerez d'un vrai livre très bien réalisé, et vous supporterez une maison d'édition qui s'efforce de publier des ouvrages techniques de haute qualité (qu'il faut renouveler souvent et qui ne feront donc probablement jamais de gros tirages), qui défend le logiciel libre, et assume même le risque (comme vous le constatez ici) d'accepter la coëxistence d'une version concurrente librement téléchargeable pour certains de ses produits.

Les deux dernières éditions traitent de la version 3 de Python. Cette nouvelle version du langage a apporté quelques changements de fond qui lui confèrent une plus grande cohérence et même une plus grande facilité d'utilisation, mais qui imposent une petite mise à jour de tous les scripts écrits pour les versions précédentes de Python. Nous avons donc remanié notre texte, non seulement pour adapter ses exemples, mais surtout pour tirer parti des améliorations du langage, qui en font probablement le meilleur outil d'apprentissage de la programmation à l'heure actuelle.

Autres nouveautés proposées dans la dernière édition : l'utilisation des systèmes de bases de données SQLite et PostgreSQL (en remplacement de Gadfly et MySQL), la production de documents imprimables au format PDF à l'aide de la bibliothèque ReportLab, ainsi que la description détaillée d'une petite application web interactive et autonome, construite en Python à l'aide du framework Cherrypy.


Cours de programmation Python 3

Conçu à l'origine pour les élèves de l'enseignement secondaire belge, ce cours expérimental s'efforce de présenter l'apprentissage de la programmation sous une forme attrayante, avec de nombreux exemples et exercices graphiques.

Distribué de manière tout à fait classique en librairie, il vous est également proposé ci-dessous en téléchargement gratuit, aux termes d'un accord passé avec l'éditeur Eyrolles.

Droits de copie de cette version :
Creative Commons
Paternité - Pas d'utilisation commerciale - Partage des conditions initiales à l'identique.


Au sommaire :

Préface. Pour le professeur qui souhaite un support de cours. Choisir un langage de programmation. Distribution de Python. À l'école des sorciers.Boîtes noires et pensée magique. Magie blanche, magie noire. Langage machine, langage de programmation. Compilation et interprétation. Mise au point d'un programme. Données et variables. Noms de variables et mots réservés. Affectation. Typage. Opérateurs et expressions. Priorité des opérations. Composition. Contrôle du flux d'exécution. Séquence d'instructions. Exécution conditionnelle. Opérateurs de comparaison. Blocs d'instructions. Instructions imbriquées. Quelques règles de syntaxe Python. Boucles. Réaffectation. Premiers scripts, ou : comment conserver nos programmes ? Principaux types de données. Les listes (première approche). Fonctions. Interaction avec l'utilisateur. Importer un module de fonctions. Véracité/fausseté d'une expression. Définir une fonction. Variables locales, variables globales. « Vraies » fonctions et procédures. Utilisation des fonctions dans un script. Valeurs par défaut des paramètres. Arguments avec étiquettes. Interfaces graphiques avec Tkinter. Programmes pilotés par des événements. Les classes de widgets Tkinter. Contrôler la disposition des widgets. Animation. Récursivité. Manipuler des fichiers. Écriture et lecture séquentielle dans un fichier. Gestion des exceptions : les instructions try - except - else. Approfondir les structures de données. Les chaînes de caractères. Les listes. Les tuples. Les dictionnaires. Classes, objets, attributs. Passage d'objets comme arguments. Objets composés d'objets. Objets comme valeurs de retour d'une fonction. Classes, méthodes, héritage. La méthode « constructeur ». Espaces de noms des classes et instances. Héritage et polymorphisme. Modules contenant des bibliothèques de classes. Classes et interfaces graphiques. Boutons radio. Cadres. Widgets composites. Barres d'outils - expressions lambda. Fenêtres avec menus. Analyse de programmes concrets. Gestion d'une base de données. Une base de données simple avec SQLite. Ébauche d'un logiciel client pour PostgreSQL. Applications web. Pages web interactives. Un serveur web en pur Python ! Un site web interactif. Imprimer avec Python. Utiliser des modules Python 2. Construire des documents PDF avec ReportLab. Documents de plusieurs pages, gestion des images et des paragraphes. Intégration dans une application web. Communications à travers un réseau et multithreading. Les sockets. Construction d'un serveur et d'un client élémentaires. Gérer plusieurs tâches en parallèle avec les threads. Connexions de plusieurs clients en parallèle. Jeu des bombardes, version réseau. Utilisation de threads pour optimiser les animations. Installation (Windows, Linux, et Mac OS). Solutions des exercices. Index.


*** Traduction hongroise ***

L'intérêt pour ce merveilleux langage qu'est Python ne cesse d'augmenter un peu partout dans le monde, en particulier lorsqu'il s'agit d'apprendre les rudiments de la programmation. Nous venons d'en recevoir une nouvelle preuve avec l'annonce de la parution d'une première traduction de notre ouvrage. Grâce à l'excellent travail de Péter Daróczy, physicien à Debrecen, il existe en effet dorénavant une version hongroise complète de ce texte (toujours librement téléchargeable : voir les liens en bas de cette page).

Merci infiniment, Péter !


*** Traduction arabe ***

... Et ce n'est pas fini !!! Grâce au patient travail de la communauté arabe du logiciel libre, il existe aussi désormais une version complète et récente de notre texte traduite en arabe (toujours librement téléchargeable : voir les liens en bas de cette page).

Merci infiniment, Hichem Razgallah, Mohamed Amine et les autres !


Téléchargements

Cliquez ici pour télécharger la dernière version traitant de Python 3 (3e édition chez Eyrolles, 5e édition au total) au format PDF.
Cliquez sur ce lien pour télécharger la même version au format Epub (format "liseuse").
Cliquez sur ce lien pour télécharger la même version au format ODT (Open Document Format).

Note : la version Epub est due à l'amabilité de Jean-François Duhamel, de Moyobamba (Pérou), que je remercie encore vivement ici.
Contact (pour signaler erreurs ou omissions éventuelles) : jfbgduhamel@gmail.com
Cette version est certainement la plus agréable à consulter sur ordinateur, à l'aide de logiciels conçus pour la lecture d'e-books (tels que Atril ou Calibre sous Linux, par exemple). Elle est également consultable sur une "vraie" liseuse (telle que Kobo Aura par ex.), mais les exemples de code source y sont alors malheureusement assez mal reproduits, du fait des limitations liées aux polices de caractères qui y sont disponibles.

Cliquez ici pour télécharger la dernière version traitant de Python 2 (3e/1e édition, Février 2009) au format PDF.
Cliquez sur ce lien pour télécharger la même version au format ODT (Open Document Format).

Cliquez ici pour obtenir le code source des exemples et les solutions des exercices proposés dans l'ouvrage (Pour Python2 et Python3 - archive ZIP).

Cliquez ici pour télécharger la deuxième édition (Mai 2005) adaptée spécifiquement par Sébastien Wilmet pour une consultation plus aisée en ligne (fichier PDF avec hyperliens).

Diapositives de la présentation de Python proposée au colloque "Libr'East of Paris" (IUT de Marne-la-vallée, 23/4/2004)

Diapositives de la conférence sur Python présentée à l'IUT de Vannes (Université de Bretagne Sud), le 15/4/2005).
Exemples de code source utilisés dans la présentation ci-dessus (archive TGZ).

Traductions hongroises du cours :

Lien vers le site hongrois
Texte intégral au format SXW (OpenOffice.org)
Texte intégral au format PDF

Traduction arabe du cours :

Liens vers le site de la communauté arabe de Linux
Texte intégral au format PDF (2014)
Texte intégral au format ODT (final)
Texte intégral PDF (final, archivé)
Texte intégral PDF (final, réduit)
Topic forum consacré à la traduction du livre

Exemples de programmes de simulation scientifique réalisés par l'auteur à l'aide de Python :

Voltasim : simulation de circuits électriques
Palyno : Étude des climats du passé par l'analyse de pollens fossiles
Virtval : Étude des effets des activités humaines sur la qualité de l'eau

Exemple d'application web de gestion :

BulréZo : Système de gestion de bulletins scolaires via l'internet

Pour contacter l'auteur :

Gérard Swinnen : gswinnen(arobase)pythomium.net (Veuillez remplacer (arobase) par son symbole @ : dispositif anti-spam).

Autres ressources documentaires concernant Python, en langue française :

L'excellent cours sur Python 3 de Robert Cordeau, professeur de programmation et d'algorithmique à l'IUT d'Orsay (Université de Paris-Sud 11).

Quelques sites Python essentiels :

Site officiel de Python : Téléchargement libre des différentes versions de Python, documentation originale, textes de référence, multitude de liens vers d'autres sites ...
Association francophone des utilisateurs de Python : Forums, Tutoriels, Conseils, Offres d'emplois, ...
Visual Python (module permettant la programmation d'objets 3D)

Page d'accueil Inforef
Ressources G.Swinnen

Sigle ULg

Université de Liège

un compteur pour votre site visites depuis le 01/05/2010