Python. Apprentissage Actif
![]() |
PAA : livre en gestation au bord de mer pendant deux ans, puis né aux Éditions Ellipses en mars 2020.
Un apprentissage opérationnel de Python, avec une présentation du langage suivie d'exercices (corrigés) de programmation. |
Quelques compléments sont disponibles :
- balle_tortue.zip qui explique comment réaliser l'animation de la balle qui tombe à la verticale
en Python pur, avec le seul module turtle et en gérant manuellement le rafraîchissement d'écran.
- liste_append.pdf car la section sur la méthode .append s'est évaporée du
§5.2 (!) à la mise en page finale.
- Une section pour les profs de lycées et leurs élèves (avec Mémentos).
FICHIERS SOLUTIONS POUR LES 137 EXERCICES DU GROS CHAP. 11
Chaque exercice du livre contient (en général au début) le nom d'un ou plusieurs fichier(s) utile(s) pour la solution (ex: exo_expr.py, bang.html, ...), ou le nom d'un dossier de sketch pour Processing (ex: waveplayer, ...). Pour les récupérer tous, téléchargez le fichier src.zip (8 Mo).
FICHIERS D'EXEMPLES POUR LA PREMIÈRE PARTIE
Les fichiers sans extension sont des répertoires. La référence 2.20 signifie chapitre 2, section 20. Les exercices sont les sections du gros chapitre 11 (alias Vladivostok, ne me demandez pas pourquoi). Les fichiers xxx.py contiennent du texte Python, l'extension .ipynb désignant quant à elle un fichier au format JSON destiné à être ouvert dans Jupyter (lire le chap. 1).
Les fichiers sont au format UTF-8 (Unicode, réglez l'encodage de votre navigateur si vous avez des problèmes avec les accents, et tant pis pour l'ipad). Il est déconseillé (comme d'hab) de procéder par copier-coller pour transférer un texte sur le navigateur dans un éditeur de programmes...
Section | Nom | Fichier(s) |
2 | Variables, nombres et fonctions | |
2.16 | Fonction, paramètres et variables locales | section_2_16.py |
2.17 | Qu'est-ce qu’une variable globale ? | section_2_17.py |
2.18 | Les différentes formes de paramètres | section_2_18.py |
2.19 | Les arguments optionnels de la fonction print | section_2_19.py |
2.20 | Les lambda-expressions | section_2_20.py |
2.21 | Comment documenter une fonction ? | section_2_21.py |
2.22 | Quelle est la différence entre fonction et méthode ? | section_2_22.py |
2.23 | Qu'est-ce qu'une fonction récursive ? | section_2_23.py, code_trace.py |
2.24 | La boucle while | section_2_24.py |
2.25 | La boucle for | section_2_25.py |
2.26 | Comment interrompre brutalement une boucle ? | section_2_26.py |
2.27 | Le calcul d’une somme en compréhension | section_2_27.py |
2.28 | La complexité d’un calcul | section_2_28.py |
3 | Traitement du texte : les bases | |
3.1 | Les caractères Unicode | section_3_1.py |
3.2 | Les textes sont des chaînes de caractères | section_3_2.py |
3.3 | Comment programmer avec des chaînes ? | section_3_3.py |
3.4 | Les chaînes formatées | section_3_4.py |
3.5 | Une chaîne peut-elle contenir du code Python ? | section_3_5.py |
4 | Dessiner | turtle_init.py, turtle.cfg |
4.1 | Le graphisme de la tortue | section_4_1.py, section_4_1.ipynb |
4.2 | Le système Processing.py | section__4_2_processing.zip |
4.3 | Stéganographie avec le module Pillow | section_4_3.py, lena.png |
5 | Les collections d'objets | |
5.2 | Les listes sont des séquences mutables | section_5_2.py |
5.3 | Les constructions fonctionnelles de listes | section_5_3.py |
5.4 | Déstructuration d'un objet itérable | section_5_4.py |
5.5 | Suppression d’objets avec del | section_5_5.py |
5.6 | Listes et partage de mémoire | section_5_6.py |
5.7 | Les ensembles | section_5_7.py |
5.8 | Les dictionnaires | section_5_8.py |
5.9 | Gestion des erreurs : les exceptions | section_5_9.py |
6 | Les entrées-sorties | |
6.1 | Le système de fichiers et le module os | section_6_1.py |
6.2 | Ecriture dans un fichier texte sur disque (en sortie) | section_6_2.py |
6.3 | Lecture d'un fichier texte sur disque (en entrée) | section_6_3.py |
6.4 | Des fichiers en mémoire centrale | section_6_4.py |
6.5 | Exécution d'un script Python au terminal | section_6_5.py, defs, projet.py, foo.py |
7 | Les objets et les classes | |
7.1_2_3 | Définition d'une nouvelle classe d'objets | section_7_1_2_3.py |
7.4 | Boucle for et méthodes spéciales : les itérateurs | section_7_4.py |
7.5 | Les générateurs | section_7_5.py |
7.6 | Les objets soft | section_7_6.py |
7.7 | La hiérarchie des classes | section_7_7.py |
7.8 | Les classes abstraites | section_7_8.py |
7.9 | Qu'est-ce qu'un décorateur ? | section_7_9.py |
8 | Traitement avancé du texte | |
8.1 | Expressions régulières : le module re | section_8_1.py |
8.2 | Analyse lexicale avec l'outil Lex | section_8_2.py, code_lex.py |
8.3 | Analyse syntaxique avec l'outil Yacc | section_8_3.py, code_yacc.py |
8.4 | Recherche de texte dans une page Web : requests | section_8_4.py |
9 | Les interfaces graphiques (GUI) | |
9.1.2 | La fenêtre du programme | section_9_1_2.py |
9.1.3 | Dessiner avec les classes Canvas et Button | section_9_1_3.py |
9.1.4 | L’interface graphique comme sous-classe de Tk | section_9_1_4.py |
9.1.5 | Les options du gestionnaire pack | section_9_1_5.py |
9.1.6 | Gestion des évènements souris et clavier | section_9_1_6.py |
9.1.7 | Variables de contrôle | section_9_1_7.py |
9.1.8 | Compléments sur les évènements souris | section_9_1_8.py, mouse_events.py |
9.1.9 | Animation en style MVC avec tkinter | section_9_1_9.py |
9.1.10 | La tortue dans une interface graphique | section_9_1_10.py |
9.2 | Programmer une animation avec pyglet | section_9_2.py, balle.png |