Apprenez à
programmer en
Python
Par prolixe
www.siteduzero.com
Licence Creative Commons 6 2.0
Dernière mise à jour le 7/01/2013
Sommaire
2Sommaire ...........................................................................................................................................
6Lire aussi ............................................................................................................................................
8 Apprenez à programmer en Python ...................................................................................................
9Partie 1 : Introduction à Python ...........................................................................................................
9Qu'est-ce que Python ? .....................................................................................................................................................
9Un langage de programmation ? Qu'est-ce que c'est ? ..............................................................................................................................................
9La communication humaine ........................................................................................................................................................................................
9Mon ordinateur communique aussi ! ...........................................................................................................................................................................
10Pour la petite histoire ................................................................................................................................................................................................
10À quoi peut servir Python ? .......................................................................................................................................................................................
11Un langage de programmation interprété ..................................................................................................................................................................
11Différentes versions de Python ..................................................................................................................................................................................
11Installer Python ..........................................................................................................................................................................................................
11Sous Windows ...........................................................................................................................................................................................................
12Sous Linux .................................................................................................................................................................................................................
13Sous Mac OS X .........................................................................................................................................................................................................
13Lancer Python ...........................................................................................................................................................................................................
14En résumé .................................................................................................................................................................................................................
15Premiers pas avec l'interpréteur de commandes Python ...............................................................................................
15Où est-ce qu'on est, là ? ...........................................................................................................................................................................................
16Vos premières instructions : un peu de calcul mental pour l'ordinateur ....................................................................................................................
16Saisir un nombre .......................................................................................................................................................................................................
16Opérations courantes ................................................................................................................................................................................................
18En résumé .................................................................................................................................................................................................................
19Le monde merveilleux des variables ...............................................................................................................................
19C'est quoi, une variable ? Et à quoi cela sert-il ? ......................................................................................................................................................
19C'est quoi, une variable ? ..........................................................................................................................................................................................
19Comment cela fonctionne-t-il ? .................................................................................................................................................................................
21Les types de données en Python ..............................................................................................................................................................................
21Qu'entend-on par « type de donnée » ? ....................................................................................................................................................................
21Les différents types de données ...............................................................................................................................................................................
23Un petit bonus ...........................................................................................................................................................................................................
24Quelques trucs et astuces pour vous faciliter la vie ..................................................................................................................................................
24Première utilisation des fonctions .............................................................................................................................................................................
24Utiliser une fonction ...................................................................................................................................................................................................
25La fonction « type » ...................................................................................................................................................................................................
26La fonction print .........................................................................................................................................................................................................
27En résumé .................................................................................................................................................................................................................
27Les structures conditionnelles .........................................................................................................................................
28Vos premières conditions et blocs d'instructions .......................................................................................................................................................
28Forme minimale en if .................................................................................................................................................................................................
29Forme complète (if, elif et else) .................................................................................................................................................................................
31De nouveaux opérateurs ...........................................................................................................................................................................................
31Les opérateurs de comparaison ................................................................................................................................................................................
31Prédicats et booléens ................................................................................................................................................................................................
32Les mots-clés and, or et not ......................................................................................................................................................................................
33Votre premier programme ! .......................................................................................................................................................................................
33Avant de commencer ................................................................................................................................................................................................
33Sujet ..........................................................................................................................................................................................................................
34Solution ou résolution ................................................................................................................................................................................................
35Correction ..................................................................................................................................................................................................................
37En résumé .................................................................................................................................................................................................................
37Les boucles .....................................................................................................................................................................
38En quoi cela consiste-t-il ? ........................................................................................................................................................................................
39La boucle while ..........................................................................................................................................................................................................
40La boucle for ..............................................................................................................................................................................................................
42Un petit bonus : les mots-clés break et continue ......................................................................................................................................................
42Le mot-clé break .......................................................................................................................................................................................................
42Le mot-clé continue ...................................................................................................................................................................................................
43En résumé .................................................................................................................................................................................................................
43Pas à pas vers la modularité (1/2) ..................................................................................................................................
44Les fonctions : à vous de jouer .................................................................................................................................................................................
44La création de fonctions ............................................................................................................................................................................................
46Valeurs par défaut des paramètres ...........................................................................................................................................................................
47Signature d'une fonction ............................................................................................................................................................................................
47L'instruction return .....................................................................................................................................................................................................
48Les fonctions lambda ................................................................................................................................................................................................
48Syntaxe .....................................................................................................................................................................................................................
49Utilisation ...................................................................................................................................................................................................................
49À la découverte des modules ....................................................................................................................................................................................
49Les modules, qu'est-ce que c'est ? ...........................................................................................................................................................................
49La méthode import ....................................................................................................................................................................................................
51Utiliser un espace de noms spécifique ......................................................................................................................................................................
52Une autre méthode d'importation : from … import … ................................................................................................................................................
52Bilan ..........................................................................................................................................................................................................................
2/267
www.siteduzero.com
53En résumé .................................................................................................................................................................................................................
53Pas à pas vers la modularité (2/2) ..................................................................................................................................
54Mettre en boîte notre code ........................................................................................................................................................................................
54Fini, l'interpréteur ? ....................................................................................................................................................................................................
54Emprisonnons notre programme dans un fichier ......................................................................................................................................................
55Quelques ajustements ..............................................................................................................................................................................................
57Je viens pour conquérir le monde… et créer mes propres modules .........................................................................................................................
57Mes modules à moi ...................................................................................................................................................................................................
58Faire un test de module dans le module-même ........................................................................................................................................................
59Les packages ............................................................................................................................................................................................................
59En théorie ..................................................................................................................................................................................................................
60En pratique ................................................................................................................................................................................................................
61En résumé .................................................................................................................................................................................................................
63Les exceptions ................................................................................................................................................................
63À quoi cela sert-il ? ....................................................................................................................................................................................................
63Forme minimale du bloc try .......................................................................................................................................................................................
64Forme plus complète .................................................................................................................................................................................................
64Exécuter le bloc except pour un type d'exception précis ..........................................................................................................................................
66Les mots-clés else et finally ......................................................................................................................................................................................
67Un petit bonus : le mot-clé pass ................................................................................................................................................................................
67Les assertions ...........................................................................................................................................................................................................
68Lever une exception ..................................................................................................................................................................................................
69En résumé .................................................................................................................................................................................................................
69TP : tous au ZCasino .......................................................................................................................................................
70Notre sujet .................................................................................................................................................................................................................
70Notre règle du jeu ......................................................................................................................................................................................................
70Organisons notre projet .............................................................................................................................................................................................
70Le module random ....................................................................................................................................................................................................
71Arrondir un nombre ...................................................................................................................................................................................................
71À vous de jouer .........................................................................................................................................................................................................
71Correction ! ................................................................................................................................................................................................................
73Et maintenant ? .........................................................................................................................................................................................................
74Partie 2 : La Programmation Orientée Objet côté utilisateur .............................................................
74Notre premier objet : les chaînes de caractères .............................................................................................................
74Vous avez dit objet ? .................................................................................................................................................................................................
74Les méthodes de la classe str ...................................................................................................................................................................................
75Mettre en forme une chaîne ......................................................................................................................................................................................
76Formater et afficher une chaîne ................................................................................................................................................................................
80Parcours et sélection de chaînes ..............................................................................................................................................................................
80Parcours par indice ...................................................................................................................................................................................................
81Sélection de chaînes .................................................................................................................................................................................................
82En résumé .................................................................................................................................................................................................................
82Les listes et tuples (1/2) ..................................................................................................................................................
83Créons et éditons nos premières listes .....................................................................................................................................................................
83D'abord c'est quoi, une liste ? ...................................................................................................................................................................................
83Création de listes ......................................................................................................................................................................................................
84Insérer des objets dans une liste ..............................................................................................................................................................................
86Suppression d'éléments d'une liste ...........................................................................................................................................................................
87Le parcours de listes .................................................................................................................................................................................................
88La fonction enumerate ..............................................................................................................................................................................................
89Un petit coup d'œil aux tuples ...................................................................................................................................................................................
90Affectation multiple ....................................................................................................................................................................................................
90Une fonction renvoyant plusieurs valeurs .................................................................................................................................................................
91En résumé .................................................................................................................................................................................................................
92Les listes et tuples (2/2) ..................................................................................................................................................
92Entre chaînes et listes ...............................................................................................................................................................................................
92Des chaînes aux listes ..............................................................................................................................................................................................
92Des listes aux chaînes ..............................................................................................................................................................................................
93Une application pratique ...........................................................................................................................................................................................
93Les listes et paramètres de fonctions ........................................................................................................................................................................
94Les fonctions dont on ne connaît pas à l'avance le nombre de paramètres .............................................................................................................
96Transformer une liste en paramètres de fonction ......................................................................................................................................................
96Les compréhensions de liste .....................................................................................................................................................................................
96Parcours simple ........................................................................................................................................................................................................
97Filtrage avec un branchement conditionnel ..............................................................................................................................................................
97Mélangeons un peu tout cela ....................................................................................................................................................................................
98Nouvelle application concrète ...................................................................................................................................................................................
99En résumé .................................................................................................................................................................................................................
100Les dictionnaires ...........................................................................................................................................................
100Création et édition de dictionnaires .........................................................................................................................................................................
100Créer un dictionnaire ...............................................................................................................................................................................................
103Supprimer des clés d'un dictionnaire ......................................................................................................................................................................
103Un peu plus loin ......................................................................................................................................................................................................
104Les méthodes de parcours ......................................................................................................................................................................................
104Parcours des clés ....................................................................................................................................................................................................
105Parcours des valeurs ..............................................................................................................................................................................................
105Parcours des clés et valeurs simultanément ...........................................................................................................................................................
106Les dictionnaires et paramètres de fonction ...........................................................................................................................................................
106Récupérer les paramètres nommés dans un dictionnaire .......................................................................................................................................
107Transformer un dictionnaire en paramètres nommés d'une fonction ......................................................................................................................
107En résumé ...............................................................................................................................................................................................................
Sommaire 3/267
www.siteduzero.com
108Les fichiers ....................................................................................................................................................................
108Avant de commencer ..............................................................................................................................................................................................
108Mais d'abord, pourquoi lire ou écrire dans des fichiers ? ........................................................................................................................................
108Changer le répertoire de travail courant ..................................................................................................................................................................
108Chemins relatifs et absolus .....................................................................................................................................................................................
109Lecture et écriture dans un fichier ...........................................................................................................................................................................
110Ouverture du fichier .................................................................................................................................................................................................
110Fermer le fichier .......................................................................................................................................................................................................
110Lire l'intégralité du fichier .........................................................................................................................................................................................
111Écriture dans un fichier ............................................................................................................................................................................................
111Écrire d'autres types de données ............................................................................................................................................................................
111Le mot-clé with .........................................................................................................................................................................................................
112Enregistrer des objets dans des fichiers ..................................................................................................................................................................
112Enregistrer un objet dans un fichier .........................................................................................................................................................................
113Récupérer nos objets enregistrés ............................................................................................................................................................................
114En résumé ...............................................................................................................................................................................................................
114Portée des variables et références ................................................................................................................................
115La portée des variables ...........................................................................................................................................................................................
115Dans nos fonctions, quelles variables sont accessibles ? .......................................................................................................................................
116La portée de nos variables ......................................................................................................................................................................................
119Les variables globales .............................................................................................................................................................................................
119Le principe des variables globales ..........................................................................................................................................................................
119Utiliser concrètement les variables globales ...........................................................................................................................................................
120En résumé ...............................................................................................................................................................................................................
120TP : un bon vieux pendu ...............................................................................................................................................
121Votre mission ...........................................................................................................................................................................................................
121Un jeu du pendu ......................................................................................................................................................................................................
121Le côté technique du problème ...............................................................................................................................................................................
121Gérer les scores ......................................................................................................................................................................................................
121À vous de jouer .......................................................................................................................................................................................................
121Correction proposée ................................................................................................................................................................................................
122donnees.py ..............................................................................................................................................................................................................
122fonctions.py .............................................................................................................................................................................................................
124pendu.py ..................................................................................................................................................................................................................
125Résumé ...................................................................................................................................................................................................................
126Partie 3 : La Programmation Orientée Objet côté développeur ......................................................
126Première approche des classes ....................................................................................................................................
126Les classes, tout un monde ....................................................................................................................................................................................
126Pourquoi utiliser des objets ? ..................................................................................................................................................................................
126Choix du modèle .....................................................................................................................................................................................................
126Convention de nommage ........................................................................................................................................................................................
127Nos premiers attributs .............................................................................................................................................................................................
128Quand on crée notre objet… ...................................................................................................................................................................................
128Étoffons un peu notre constructeur .........................................................................................................................................................................
130Attributs de classe ...................................................................................................................................................................................................
130Les méthodes, la recette .........................................................................................................................................................................................
132Le paramètre self ....................................................................................................................................................................................................
133Méthodes de classe et méthodes statiques ............................................................................................................................................................
135Un peu d'introspection .............................................................................................................................................................................................
135La fonction dir ..........................................................................................................................................................................................................
136L'attribut spécial __dict__ ........................................................................................................................................................................................
136En résumé ...............................................................................................................................................................................................................
137Les propriétés ................................................................................................................................................................
138Qu'est-ce que l'encapsulation ? ..............................................................................................................................................................................
138Les propriétés à la casserole ..................................................................................................................................................................................
139Les propriétés en action ..........................................................................................................................................................................................
140Résumons le principe d'encapsulation en Python ...................................................................................................................................................
141En résumé ...............................................................................................................................................................................................................
141Les méthodes spéciales ................................................................................................................................................
142Édition de l'objet et accès aux attributs ...................................................................................................................................................................
142Édition de l'objet ......................................................................................................................................................................................................
143Représentation de l'objet .........................................................................................................................................................................................
144Accès aux attributs de notre objet ...........................................................................................................................................................................
147Les méthodes de conteneur ....................................................................................................................................................................................
147Accès aux éléments d'un conteneur .......................................................................................................................................................................
147La méthode spéciale derrière le mot-clé in .............................................................................................................................................................
148Connaître la taille d'un conteneur ............................................................................................................................................................................
148Les méthodes mathématiques ................................................................................................................................................................................
148Ce qu'il faut savoir ...................................................................................................................................................................................................
150Tout dépend du sens ...............................................................................................................................................................................................
150D'autres opérateurs .................................................................................................................................................................................................
151Les méthodes de comparaison ...............................................................................................................................................................................
152Des méthodes spéciales utiles à pickle ..................................................................................................................................................................
152La méthode spéciale __getstate__ .........................................................................................................................................................................
153La méthode __setstate__ ........................................................................................................................................................................................
154On peut enregistrer dans un fichier autre chose que des dictionnaires ..................................................................................................................
154Je veux encore plus puissant ! ................................................................................................................................................................................
154En résumé ...............................................................................................................................................................................................................
155L'héritage .......................................................................................................................................................................
155Pour bien commencer .............................................................................................................................................................................................
155L'héritage simple .....................................................................................................................................................................................................
Sommaire 4/267
www.siteduzero.com
158Petite précision ........................................................................................................................................................................................................
158Deux fonctions très pratiques ..................................................................................................................................................................................
159L'héritage multiple ...................................................................................................................................................................................................
159Recherche des méthodes .......................................................................................................................................................................................
160Retour sur les exceptions ........................................................................................................................................................................................
160Création d'exceptions personnalisées .....................................................................................................................................................................
162En résumé ...............................................................................................................................................................................................................
163Derrière la boucle for .....................................................................................................................................................
163Les itérateurs ...........................................................................................................................................................................................................
163Utiliser les itérateurs ................................................................................................................................................................................................
164Créons nos itérateurs ..............................................................................................................................................................................................
165Les générateurs ......................................................................................................................................................................................................
165Les générateurs simples .........................................................................................................................................................................................
167Les générateurs comme co-routines .......................................................................................................................................................................
168En résumé ...............................................................................................................................................................................................................
169TP : un dictionnaire ordonné .........................................................................................................................................
170Notre mission ..........................................................................................................................................................................................................
170Spécifications ..........................................................................................................................................................................................................
170Exemple de manipulation ........................................................................................................................................................................................
171Tous au départ ! .......................................................................................................................................................................................................
171Correction proposée ................................................................................................................................................................................................
174Le mot de la fin ........................................................................................................................................................................................................
175Les décorateurs .............................................................................................................................................................
175Qu'est-ce que c'est ? ...............................................................................................................................................................................................
175En théorie ................................................................................................................................................................................................................
175Format le plus simple ..............................................................................................................................................................................................
177Modifier le comportement de notre fonction ............................................................................................................................................................
179Un décorateur avec des paramètres .......................................................................................................................................................................
182Tenir compte des paramètres de notre fonction ......................................................................................................................................................
182Des décorateurs s'appliquant aux définitions de classes ........................................................................................................................................
183Chaîner nos décorateurs .........................................................................................................................................................................................
183Exemples d'applications ..........................................................................................................................................................................................
183Les classes singleton ..............................................................................................................................................................................................
184Contrôler les types passés à notre fonction ............................................................................................................................................................
186En résumé ...............................................................................................................................................................................................................
187Les métaclasses ............................................................................................................................................................
187Retour sur le processus d'instanciation ...................................................................................................................................................................
188La méthode __new__ ..............................................................................................................................................................................................
189Créer une classe dynamiquement ..........................................................................................................................................................................
189La méthode que nous connaissons ........................................................................................................................................................................
190Créer une classe dynamiquement ..........................................................................................................................................................................
191Définition d'une métaclasse ....................................................................................................................................................................................
191La méthode __new__ ..............................................................................................................................................................................................
192La méthode __init__ ................................................................................................................................................................................................
192Les métaclasses en action ......................................................................................................................................................................................
194Pour conclure ..........................................................................................................................................................................................................
194En résumé ...............................................................................................................................................................................................................
195Partie 4 : Les merveilles de la bibliothèque standard ......................................................................
195Les expressions régulières ...........................................................................................................................................
195Que sont les expressions régulières ? ....................................................................................................................................................................
195Quelques éléments de syntaxe pour les expressions régulières ............................................................................................................................
195Concrètement, comment cela se présente-t-il ? .....................................................................................................................................................
195Des caractères ordinaires .......................................................................................................................................................................................
195Rechercher au début ou à la fin de la chaîne ..........................................................................................................................................................
196Contrôler le nombre d'occurences ..........................................................................................................................................................................
196Les classes de caractères .......................................................................................................................................................................................
197Les groupes .............................................................................................................................................................................................................
197Le module re ...........................................................................................................................................................................................................
197Chercher dans une chaîne ......................................................................................................................................................................................
199Remplacer une expression .....................................................................................................................................................................................
200Des expressions compilées ....................................................................................................................................................................................
201En résumé ...............................................................................................................................................................................................................
202Le temps ........................................................................................................................................................................
202Le module time ........................................................................................................................................................................................................
202Représenter une date et une heure dans un nombre unique ..................................................................................................................................
203La date et l'heure de façon plus présentable ..........................................................................................................................................................
204Récupérer un timestamp depuis une date ..............................................................................................................................................................
204Mettre en pause l'exécution du programme pendant un temps déterminé .............................................................................................................
204Formater un temps ..................................................................................................................................................................................................
205Bien d'autres fonctions ............................................................................................................................................................................................
205Le module datetime .................................................................................................................................................................................................
205Représenter une date ..............................................................................................................................................................................................
206Représenter une heure ...........................................................................................................................................................................................
207Représenter des dates et heures ............................................................................................................................................................................
207En résumé ...............................................................................................................................................................................................................
208Un peu de programmation système ..............................................................................................................................
208Les flux standard .....................................................................................................................................................................................................
208Accéder aux flux standard .......................................................................................................................................................................................
209Modifier les flux standard ........................................................................................................................................................................................
210Les signaux .............................................................................................................................................................................................................
210Les différents signaux .............................................................................................................................................................................................
Sommaire 5/267
www.siteduzero.com
1 / 266 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !