2. Sommaire
2
Sommaire ...........................................................................................................................................
6
Lire aussi ............................................................................................................................................
8
Apprenez à programmer en Python ...................................................................................................
9
Partie 1 : Introduction à Python ...........................................................................................................
9
Qu'est-ce que Python ? .....................................................................................................................................................
9
Un langage de programmation ? Qu'est-ce que c'est ? ..............................................................................................................................................
9
La communication humaine ........................................................................................................................................................................................
9
Mon ordinateur communique aussi ! ...........................................................................................................................................................................
10
Pour la petite histoire ................................................................................................................................................................................................
10
À quoi peut servir Python ? .......................................................................................................................................................................................
11
Un langage de programmation interprété ..................................................................................................................................................................
11
Différentes versions de Python ..................................................................................................................................................................................
11
Installer Python ..........................................................................................................................................................................................................
11
Sous Windows ...........................................................................................................................................................................................................
12
Sous Linux .................................................................................................................................................................................................................
13
Sous Mac OS X .........................................................................................................................................................................................................
13
Lancer Python ...........................................................................................................................................................................................................
14
En résumé .................................................................................................................................................................................................................
15
Premiers pas avec l'interpréteur de commandes Python ...............................................................................................
15
Où est-ce qu'on est, là ? ...........................................................................................................................................................................................
16
Vos premières instructions : un peu de calcul mental pour l'ordinateur ....................................................................................................................
16
Saisir un nombre .......................................................................................................................................................................................................
16
Opérations courantes ................................................................................................................................................................................................
18
En résumé .................................................................................................................................................................................................................
19
Le monde merveilleux des variables ...............................................................................................................................
19
C'est quoi, une variable ? Et à quoi cela sert-il ? ......................................................................................................................................................
19
C'est quoi, une variable ? ..........................................................................................................................................................................................
19
Comment cela fonctionne-t-il ? .................................................................................................................................................................................
21
Les types de données en Python ..............................................................................................................................................................................
21
Qu'entend-on par « type de donnée » ? ....................................................................................................................................................................
21
Les différents types de données ...............................................................................................................................................................................
23
Un petit bonus ...........................................................................................................................................................................................................
24
Quelques trucs et astuces pour vous faciliter la vie ..................................................................................................................................................
24
Première utilisation des fonctions .............................................................................................................................................................................
24
Utiliser une fonction ...................................................................................................................................................................................................
25
La fonction « type » ...................................................................................................................................................................................................
26
La fonction print .........................................................................................................................................................................................................
27
En résumé .................................................................................................................................................................................................................
27
Les structures conditionnelles .........................................................................................................................................
28
Vos premières conditions et blocs d'instructions .......................................................................................................................................................
28
Forme minimale en if .................................................................................................................................................................................................
29
Forme complète (if, elif et else) .................................................................................................................................................................................
31
De nouveaux opérateurs ...........................................................................................................................................................................................
31
Les opérateurs de comparaison ................................................................................................................................................................................
31
Prédicats et booléens ................................................................................................................................................................................................
32
Les mots-clés and, or et not ......................................................................................................................................................................................
33
Votre premier programme ! .......................................................................................................................................................................................
33
Avant de commencer ................................................................................................................................................................................................
33
Sujet ..........................................................................................................................................................................................................................
34
Solution ou résolution ................................................................................................................................................................................................
35
Correction ..................................................................................................................................................................................................................
37
En résumé .................................................................................................................................................................................................................
37
Les boucles .....................................................................................................................................................................
38
En quoi cela consiste-t-il ? ........................................................................................................................................................................................
39
La boucle while ..........................................................................................................................................................................................................
40
La boucle for ..............................................................................................................................................................................................................
42
Un petit bonus : les mots-clés break et continue ......................................................................................................................................................
42
Le mot-clé break .......................................................................................................................................................................................................
42
Le mot-clé continue ...................................................................................................................................................................................................
43
En résumé .................................................................................................................................................................................................................
43
Pas à pas vers la modularité (1/2) ..................................................................................................................................
44
Les fonctions : à vous de jouer .................................................................................................................................................................................
44
La création de fonctions ............................................................................................................................................................................................
46
Valeurs par défaut des paramètres ...........................................................................................................................................................................
47
Signature d'une fonction ............................................................................................................................................................................................
47
L'instruction return .....................................................................................................................................................................................................
48
Les fonctions lambda ................................................................................................................................................................................................
48
Syntaxe .....................................................................................................................................................................................................................
49
Utilisation ...................................................................................................................................................................................................................
49
À la découverte des modules ....................................................................................................................................................................................
49
Les modules, qu'est-ce que c'est ? ...........................................................................................................................................................................
49
La méthode import ....................................................................................................................................................................................................
51
Utiliser un espace de noms spécifique ......................................................................................................................................................................
52
Une autre méthode d'importation : from … import … ................................................................................................................................................
52
Bilan ..........................................................................................................................................................................................................................
2/267
www.openclassrooms.com
3. 53
En résumé .................................................................................................................................................................................................................
53
Pas à pas vers la modularité (2/2) ..................................................................................................................................
54
Mettre en boîte notre code ........................................................................................................................................................................................
54
Fini, l'interpréteur ? ....................................................................................................................................................................................................
54
Emprisonnons notre programme dans un fichier ......................................................................................................................................................
55
Quelques ajustements ..............................................................................................................................................................................................
57
Je viens pour conquérir le monde… et créer mes propres modules .........................................................................................................................
57
Mes modules à moi ...................................................................................................................................................................................................
58
Faire un test de module dans le module-même ........................................................................................................................................................
59
Les packages ............................................................................................................................................................................................................
59
En théorie ..................................................................................................................................................................................................................
60
En pratique ................................................................................................................................................................................................................
61
En résumé .................................................................................................................................................................................................................
63
Les exceptions ................................................................................................................................................................
63
À quoi cela sert-il ? ....................................................................................................................................................................................................
63
Forme minimale du bloc try .......................................................................................................................................................................................
64
Forme plus complète .................................................................................................................................................................................................
64
Exécuter le bloc except pour un type d'exception précis ..........................................................................................................................................
66
Les mots-clés else et finally ......................................................................................................................................................................................
67
Un petit bonus : le mot-clé pass ................................................................................................................................................................................
67
Les assertions ...........................................................................................................................................................................................................
68
Lever une exception ..................................................................................................................................................................................................
69
En résumé .................................................................................................................................................................................................................
69
TP : tous au ZCasino .......................................................................................................................................................
70
Notre sujet .................................................................................................................................................................................................................
70
Notre règle du jeu ......................................................................................................................................................................................................
70
Organisons notre projet .............................................................................................................................................................................................
70
Le module random ....................................................................................................................................................................................................
71
Arrondir un nombre ...................................................................................................................................................................................................
71
À vous de jouer .........................................................................................................................................................................................................
71
Correction ! ................................................................................................................................................................................................................
73
Et maintenant ? .........................................................................................................................................................................................................
74
Partie 2 : La Programmation Orientée Objet côté utilisateur .............................................................
74
Notre premier objet : les chaînes de caractères .............................................................................................................
74
Vous avez dit objet ? .................................................................................................................................................................................................
74
Les méthodes de la classe str ...................................................................................................................................................................................
75
Mettre en forme une chaîne ......................................................................................................................................................................................
76
Formater et afficher une chaîne ................................................................................................................................................................................
80
Parcours et sélection de chaînes ..............................................................................................................................................................................
80
Parcours par indice ...................................................................................................................................................................................................
81
Sélection de chaînes .................................................................................................................................................................................................
82
En résumé .................................................................................................................................................................................................................
82
Les listes et tuples (1/2) ..................................................................................................................................................
83
Créons et éditons nos premières listes .....................................................................................................................................................................
83
D'abord c'est quoi, une liste ? ...................................................................................................................................................................................
83
Création de listes ......................................................................................................................................................................................................
84
Insérer des objets dans une liste ..............................................................................................................................................................................
86
Suppression d'éléments d'une liste ...........................................................................................................................................................................
87
Le parcours de listes .................................................................................................................................................................................................
88
La fonction enumerate ..............................................................................................................................................................................................
89
Un petit coup d'œil aux tuples ...................................................................................................................................................................................
90
Affectation multiple ....................................................................................................................................................................................................
90
Une fonction renvoyant plusieurs valeurs .................................................................................................................................................................
91
En résumé .................................................................................................................................................................................................................
92
Les listes et tuples (2/2) ..................................................................................................................................................
92
Entre chaînes et listes ...............................................................................................................................................................................................
92
Des chaînes aux listes ..............................................................................................................................................................................................
92
Des listes aux chaînes ..............................................................................................................................................................................................
93
Une application pratique ...........................................................................................................................................................................................
93
Les listes et paramètres de fonctions ........................................................................................................................................................................
94
Les fonctions dont on ne connaît pas à l'avance le nombre de paramètres .............................................................................................................
96
Transformer une liste en paramètres de fonction ......................................................................................................................................................
96
Les compréhensions de liste .....................................................................................................................................................................................
96
Parcours simple ........................................................................................................................................................................................................
97
Filtrage avec un branchement conditionnel ..............................................................................................................................................................
97
Mélangeons un peu tout cela ....................................................................................................................................................................................
98
Nouvelle application concrète ...................................................................................................................................................................................
99
En résumé .................................................................................................................................................................................................................
100
Les dictionnaires ...........................................................................................................................................................
100
Création et édition de dictionnaires .........................................................................................................................................................................
100
Créer un dictionnaire ...............................................................................................................................................................................................
103
Supprimer des clés d'un dictionnaire ......................................................................................................................................................................
103
Un peu plus loin ......................................................................................................................................................................................................
104
Les méthodes de parcours ......................................................................................................................................................................................
104
Parcours des clés ....................................................................................................................................................................................................
105
Parcours des valeurs ..............................................................................................................................................................................................
105
Parcours des clés et valeurs simultanément ...........................................................................................................................................................
106
Les dictionnaires et paramètres de fonction ...........................................................................................................................................................
106
Récupérer les paramètres nommés dans un dictionnaire .......................................................................................................................................
107
Transformer un dictionnaire en paramètres nommés d'une fonction ......................................................................................................................
107
En résumé ...............................................................................................................................................................................................................
Sommaire 3/267
www.openclassrooms.com
4. 108
Les fichiers ....................................................................................................................................................................
108
Avant de commencer ..............................................................................................................................................................................................
108
Mais d'abord, pourquoi lire ou écrire dans des fichiers ? ........................................................................................................................................
108
Changer le répertoire de travail courant ..................................................................................................................................................................
108
Chemins relatifs et absolus .....................................................................................................................................................................................
109
Lecture et écriture dans un fichier ...........................................................................................................................................................................
110
Ouverture du fichier .................................................................................................................................................................................................
110
Fermer le fichier .......................................................................................................................................................................................................
110
Lire l'intégralité du fichier .........................................................................................................................................................................................
111
Écriture dans un fichier ............................................................................................................................................................................................
111
Écrire d'autres types de données ............................................................................................................................................................................
111
Le mot-clé with .........................................................................................................................................................................................................
112
Enregistrer des objets dans des fichiers ..................................................................................................................................................................
112
Enregistrer un objet dans un fichier .........................................................................................................................................................................
113
Récupérer nos objets enregistrés ............................................................................................................................................................................
114
En résumé ...............................................................................................................................................................................................................
114
Portée des variables et références ................................................................................................................................
115
La portée des variables ...........................................................................................................................................................................................
115
Dans nos fonctions, quelles variables sont accessibles ? .......................................................................................................................................
116
La portée de nos variables ......................................................................................................................................................................................
119
Les variables globales .............................................................................................................................................................................................
119
Le principe des variables globales ..........................................................................................................................................................................
119
Utiliser concrètement les variables globales ...........................................................................................................................................................
120
En résumé ...............................................................................................................................................................................................................
120
TP : un bon vieux pendu ...............................................................................................................................................
121
Votre mission ...........................................................................................................................................................................................................
121
Un jeu du pendu ......................................................................................................................................................................................................
121
Le côté technique du problème ...............................................................................................................................................................................
121
Gérer les scores ......................................................................................................................................................................................................
121
À vous de jouer .......................................................................................................................................................................................................
121
Correction proposée ................................................................................................................................................................................................
122
donnees.py ..............................................................................................................................................................................................................
122
fonctions.py .............................................................................................................................................................................................................
124
pendu.py ..................................................................................................................................................................................................................
125
Résumé ...................................................................................................................................................................................................................
126
Partie 3 : La Programmation Orientée Objet côté développeur ......................................................
126
Première approche des classes ....................................................................................................................................
126
Les classes, tout un monde ....................................................................................................................................................................................
126
Pourquoi utiliser des objets ? ..................................................................................................................................................................................
126
Choix du modèle .....................................................................................................................................................................................................
126
Convention de nommage ........................................................................................................................................................................................
127
Nos premiers attributs .............................................................................................................................................................................................
128
Quand on crée notre objet… ...................................................................................................................................................................................
128
Étoffons un peu notre constructeur .........................................................................................................................................................................
130
Attributs de classe ...................................................................................................................................................................................................
130
Les méthodes, la recette .........................................................................................................................................................................................
132
Le paramètre self ....................................................................................................................................................................................................
133
Méthodes de classe et méthodes statiques ............................................................................................................................................................
135
Un peu d'introspection .............................................................................................................................................................................................
135
La fonction dir ..........................................................................................................................................................................................................
136
L'attribut spécial __dict__ ........................................................................................................................................................................................
136
En résumé ...............................................................................................................................................................................................................
137
Les propriétés ................................................................................................................................................................
138
Qu'est-ce que l'encapsulation ? ..............................................................................................................................................................................
138
Les propriétés à la casserole ..................................................................................................................................................................................
139
Les propriétés en action ..........................................................................................................................................................................................
140
Résumons le principe d'encapsulation en Python ...................................................................................................................................................
141
En résumé ...............................................................................................................................................................................................................
141
Les méthodes spéciales ................................................................................................................................................
142
Édition de l'objet et accès aux attributs ...................................................................................................................................................................
142
Édition de l'objet ......................................................................................................................................................................................................
143
Représentation de l'objet .........................................................................................................................................................................................
144
Accès aux attributs de notre objet ...........................................................................................................................................................................
147
Les méthodes de conteneur ....................................................................................................................................................................................
147
Accès aux éléments d'un conteneur .......................................................................................................................................................................
147
La méthode spéciale derrière le mot-clé in .............................................................................................................................................................
148
Connaître la taille d'un conteneur ............................................................................................................................................................................
148
Les méthodes mathématiques ................................................................................................................................................................................
148
Ce qu'il faut savoir ...................................................................................................................................................................................................
150
Tout dépend du sens ...............................................................................................................................................................................................
150
D'autres opérateurs .................................................................................................................................................................................................
151
Les méthodes de comparaison ...............................................................................................................................................................................
152
Des méthodes spéciales utiles à pickle ..................................................................................................................................................................
152
La méthode spéciale __getstate__ .........................................................................................................................................................................
153
La méthode __setstate__ ........................................................................................................................................................................................
154
On peut enregistrer dans un fichier autre chose que des dictionnaires ..................................................................................................................
154
Je veux encore plus puissant ! ................................................................................................................................................................................
154
En résumé ...............................................................................................................................................................................................................
155
L'héritage .......................................................................................................................................................................
155
Pour bien commencer .............................................................................................................................................................................................
155
L'héritage simple .....................................................................................................................................................................................................
Sommaire 4/267
www.openclassrooms.com
5. 158
Petite précision ........................................................................................................................................................................................................
158
Deux fonctions très pratiques ..................................................................................................................................................................................
159
L'héritage multiple ...................................................................................................................................................................................................
159
Recherche des méthodes .......................................................................................................................................................................................
160
Retour sur les exceptions ........................................................................................................................................................................................
160
Création d'exceptions personnalisées .....................................................................................................................................................................
162
En résumé ...............................................................................................................................................................................................................
163
Derrière la boucle for .....................................................................................................................................................
163
Les itérateurs ...........................................................................................................................................................................................................
163
Utiliser les itérateurs ................................................................................................................................................................................................
164
Créons nos itérateurs ..............................................................................................................................................................................................
165
Les générateurs ......................................................................................................................................................................................................
165
Les générateurs simples .........................................................................................................................................................................................
167
Les générateurs comme co-routines .......................................................................................................................................................................
168
En résumé ...............................................................................................................................................................................................................
169
TP : un dictionnaire ordonné .........................................................................................................................................
170
Notre mission ..........................................................................................................................................................................................................
170
Spécifications ..........................................................................................................................................................................................................
170
Exemple de manipulation ........................................................................................................................................................................................
171
Tous au départ ! .......................................................................................................................................................................................................
171
Correction proposée ................................................................................................................................................................................................
174
Le mot de la fin ........................................................................................................................................................................................................
175
Les décorateurs .............................................................................................................................................................
175
Qu'est-ce que c'est ? ...............................................................................................................................................................................................
175
En théorie ................................................................................................................................................................................................................
175
Format le plus simple ..............................................................................................................................................................................................
177
Modifier le comportement de notre fonction ............................................................................................................................................................
179
Un décorateur avec des paramètres .......................................................................................................................................................................
182
Tenir compte des paramètres de notre fonction ......................................................................................................................................................
182
Des décorateurs s'appliquant aux définitions de classes ........................................................................................................................................
183
Chaîner nos décorateurs .........................................................................................................................................................................................
183
Exemples d'applications ..........................................................................................................................................................................................
183
Les classes singleton ..............................................................................................................................................................................................
184
Contrôler les types passés à notre fonction ............................................................................................................................................................
186
En résumé ...............................................................................................................................................................................................................
187
Les métaclasses ............................................................................................................................................................
187
Retour sur le processus d'instanciation ...................................................................................................................................................................
188
La méthode __new__ ..............................................................................................................................................................................................
189
Créer une classe dynamiquement ..........................................................................................................................................................................
189
La méthode que nous connaissons ........................................................................................................................................................................
190
Créer une classe dynamiquement ..........................................................................................................................................................................
191
Définition d'une métaclasse ....................................................................................................................................................................................
191
La méthode __new__ ..............................................................................................................................................................................................
192
La méthode __init__ ................................................................................................................................................................................................
192
Les métaclasses en action ......................................................................................................................................................................................
194
Pour conclure ..........................................................................................................................................................................................................
194
En résumé ...............................................................................................................................................................................................................
195
Partie 4 : Les merveilles de la bibliothèque standard ......................................................................
195
Les expressions régulières ...........................................................................................................................................
195
Que sont les expressions régulières ? ....................................................................................................................................................................
195
Quelques éléments de syntaxe pour les expressions régulières ............................................................................................................................
195
Concrètement, comment cela se présente-t-il ? .....................................................................................................................................................
195
Des caractères ordinaires .......................................................................................................................................................................................
195
Rechercher au début ou à la fin de la chaîne ..........................................................................................................................................................
196
Contrôler le nombre d'occurences ..........................................................................................................................................................................
196
Les classes de caractères .......................................................................................................................................................................................
197
Les groupes .............................................................................................................................................................................................................
197
Le module re ...........................................................................................................................................................................................................
197
Chercher dans une chaîne ......................................................................................................................................................................................
199
Remplacer une expression .....................................................................................................................................................................................
200
Des expressions compilées ....................................................................................................................................................................................
201
En résumé ...............................................................................................................................................................................................................
202
Le temps ........................................................................................................................................................................
202
Le module time ........................................................................................................................................................................................................
202
Représenter une date et une heure dans un nombre unique ..................................................................................................................................
203
La date et l'heure de façon plus présentable ..........................................................................................................................................................
204
Récupérer un timestamp depuis une date ..............................................................................................................................................................
204
Mettre en pause l'exécution du programme pendant un temps déterminé .............................................................................................................
204
Formater un temps ..................................................................................................................................................................................................
205
Bien d'autres fonctions ............................................................................................................................................................................................
205
Le module datetime .................................................................................................................................................................................................
205
Représenter une date ..............................................................................................................................................................................................
206
Représenter une heure ...........................................................................................................................................................................................
207
Représenter des dates et heures ............................................................................................................................................................................
207
En résumé ...............................................................................................................................................................................................................
208
Un peu de programmation système ..............................................................................................................................
208
Les flux standard .....................................................................................................................................................................................................
208
Accéder aux flux standard .......................................................................................................................................................................................
209
Modifier les flux standard ........................................................................................................................................................................................
210
Les signaux .............................................................................................................................................................................................................
210
Les différents signaux .............................................................................................................................................................................................
Sommaire 5/267
www.openclassrooms.com
6. 210
Intercepter un signal ................................................................................................................................................................................................
212
Interpréter les arguments de la ligne de commande ...............................................................................................................................................
212
Accéder à la console de Windows ..........................................................................................................................................................................
213
Accéder aux arguments de la ligne de commande .................................................................................................................................................
214
Interpréter les arguments de la ligne de commande ...............................................................................................................................................
217
Exécuter une commande système depuis Python ..................................................................................................................................................
217
La fonction system ..................................................................................................................................................................................................
217
La fonction popen ....................................................................................................................................................................................................
218
En résumé ...............................................................................................................................................................................................................
218
Un peu de mathématiques ............................................................................................................................................
219
Pour commencer, le module math ..........................................................................................................................................................................
219
Fonctions usuelles ..................................................................................................................................................................................................
219
Un peu de trigonométrie ..........................................................................................................................................................................................
220
Arrondir un nombre .................................................................................................................................................................................................
220
Des fractions avec le module fractions ...................................................................................................................................................................
220
Créer une fraction ....................................................................................................................................................................................................
221
Manipuler les fractions ............................................................................................................................................................................................
222
Du pseudo-aléatoire avec random ..........................................................................................................................................................................
222
Du pseudo-aléatoire ................................................................................................................................................................................................
222
La fonction random .................................................................................................................................................................................................
222
randrange et randint ................................................................................................................................................................................................
223
Opérations sur des séquences ...............................................................................................................................................................................
223
En résumé ...............................................................................................................................................................................................................
224
Gestion des mots de passe ...........................................................................................................................................
224
Réceptionner un mot de passe saisi par l'utilisateur ...............................................................................................................................................
224
Chiffrer un mot de passe .........................................................................................................................................................................................
224
Chiffrer un mot de passe ? ......................................................................................................................................................................................
226
Chiffrer un mot de passe .........................................................................................................................................................................................
227
En résumé ...............................................................................................................................................................................................................
228
Le réseau ......................................................................................................................................................................
228
Brève présentation du réseau .................................................................................................................................................................................
228
Le protocole TCP ....................................................................................................................................................................................................
228
Clients et serveur ....................................................................................................................................................................................................
228
Les différentes étapes .............................................................................................................................................................................................
229
Établir une connexion ..............................................................................................................................................................................................
229
Les sockets .............................................................................................................................................................................................................
229
Les sockets .............................................................................................................................................................................................................
229
Construire notre socket ...........................................................................................................................................................................................
230
Connecter le socket ................................................................................................................................................................................................
230
Faire écouter notre socket .......................................................................................................................................................................................
230
Accepter une connexion venant du client ...............................................................................................................................................................
231
Création du client ....................................................................................................................................................................................................
231
Connecter le client ..................................................................................................................................................................................................
232
Faire communiquer nos sockets .............................................................................................................................................................................
232
Fermer la connexion ................................................................................................................................................................................................
233
Le serveur ...............................................................................................................................................................................................................
233
Le client ...................................................................................................................................................................................................................
234
Un serveur plus élaboré ..........................................................................................................................................................................................
234
Le module select .....................................................................................................................................................................................................
237
Et encore plus .........................................................................................................................................................................................................
237
En résumé ...............................................................................................................................................................................................................
237
Des interfaces graphiques avec Tkinter ........................................................................................................................
238
Présentation de Tkinter ...........................................................................................................................................................................................
238
Votre première interface graphique .........................................................................................................................................................................
239
De nombreux widgets ..............................................................................................................................................................................................
239
Les widgets les plus communs ...............................................................................................................................................................................
242
Organiser ses widgets dans la fenêtre ....................................................................................................................................................................
243
Bien d'autres widgets ..............................................................................................................................................................................................
243
Les commandes ......................................................................................................................................................................................................
245
Pour conclure ..........................................................................................................................................................................................................
245
En résumé ...............................................................................................................................................................................................................
245
Partie 5 : Annexes ...........................................................................................................................
246
Écrire nos programmes Python dans des fichiers ........................................................................................................
246
Mettre le code dans un fichier .................................................................................................................................................................................
247
Exécuter notre code sur Windows ...........................................................................................................................................................................
247
Sur les systèmes Unix .............................................................................................................................................................................................
248
Préciser l'encodage de travail .................................................................................................................................................................................
248
Mettre en pause notre programme ..........................................................................................................................................................................
249
En résumé ...............................................................................................................................................................................................................
249
Distribuer facilement nos programmes Python avec cx_Freeze ..................................................................................
250
En théorie ................................................................................................................................................................................................................
250
Avantages de cx_Freeze .........................................................................................................................................................................................
250
En pratique ..............................................................................................................................................................................................................
250
Installation ...............................................................................................................................................................................................................
251
Utiliser le script cxfreeze .........................................................................................................................................................................................
252
Le fichier setup.py ...................................................................................................................................................................................................
253
Pour conclure ..........................................................................................................................................................................................................
253
En résumé ...............................................................................................................................................................................................................
253
De bonnes pratiques .....................................................................................................................................................
254
Pourquoi suivre les conventions des PEP ? ...........................................................................................................................................................
254
La PEP 20 : tout une philosophie ............................................................................................................................................................................
Sommaire 6/267
www.openclassrooms.com
7. 255
La PEP 8 : des conventions précises ......................................................................................................................................................................
255
Introduction ..............................................................................................................................................................................................................
255
Forme du code ........................................................................................................................................................................................................
256
Directives d'importation ...........................................................................................................................................................................................
256
Le signe espace dans les expressions et instructions ............................................................................................................................................
258
Commentaires .........................................................................................................................................................................................................
258
Conventions de nommage ......................................................................................................................................................................................
259
Conventions de programmation ..............................................................................................................................................................................
260
Conclusion ..............................................................................................................................................................................................................
260
La PEP 257 : de belles documentations .................................................................................................................................................................
260
Qu'est-ce qu'une docstring ? ...................................................................................................................................................................................
261
Les docstrings sur une seule ligne ..........................................................................................................................................................................
261
Les docstrings sur plusieurs lignes .........................................................................................................................................................................
263
Pour finir et bien continuer ............................................................................................................................................
263
Quelques références ...............................................................................................................................................................................................
263
La documentation officielle ......................................................................................................................................................................................
263
Le wiki Python .........................................................................................................................................................................................................
263
L'index des PEP (Python Enhancement Proposal) .................................................................................................................................................
263
La documentation par version .................................................................................................................................................................................
264
Des bibliothèques tierces ........................................................................................................................................................................................
264
Pour créer une interface graphique .........................................................................................................................................................................
265
Dans le monde du Web ...........................................................................................................................................................................................
265
Un peu de réseau ....................................................................................................................................................................................................
266
Pour conclure ..........................................................................................................................................................................................................
Lire aussi 7/267
www.openclassrooms.com
8. Apprenez à programmer en Python
Par prolixe
Mise à jour : 07/01/2013
Difficulté : Facile
Ce tutoriel a pour but de vous initier au langage de programmation Python. Et comme le veut la coutume ici-bas, on démarre de
zéro, dans la joie et la bonne humeur !
La syntaxe claire et relativement intuitive de ce langage en fait un candidat idéal dans le cadre d'une introduction à la
programmation.Ainsi, si vous n'avez jamais programmé en quelque langage que ce soit, si vous ne savez que très vaguement ce
que cela signifie, Python est, me semble-t-il, un bon choixpour commencer votre apprentissage. Bonne lecture !
Avantages de Python :
facile à apprendre, à lire, à comprendre et à écrire ;
portable (fonctionne sous de nombreuxsystèmes d'exploitation) ;
adapté aussi bien pour des scripts, des petits ou gros projets ;
doté d'une façade objet bien conçue et puissante ;
possède une communauté active autour du langage ;
et j'en passe…
Un grand merci à 6pri1 pour sa relecture attentive et sa patience. Un merci tout aussi cordial à Nathan21 et Sergeswi qui ont
fourni les icônes du tutoriel.
Ce cours vous plaît ?
Si vous avez aimé ce cours, vous pouvez retrouver le livre "Apprenez à programmer en Python" du
même auteur, en vente sur le Site du Zéro, en librairie et dans les boutiques en ligne. V
ous y trouverez
ce cours adapté au format papier avec une série de chapitres inédits.
Plus d'informations
Lire aussi 8/267
www.openclassrooms.com
9. Partie 1 : Introduction à Python
Cette partie consiste en une introduction à Python et ses principauxmécanismes. V
ous y apprendrez :
Ce qu'est exactement Python ;
Comment installer Python ;
Comprendre la syntaxe et les mécanismes de base de ce langage.
Ne vous alarmez pas outre mesure si vous êtes déjà perdus dans le titre des sous-parties. J'ai promis que je commencerai de zéro,
et je tiendrai cette promesse, autant que faire se peut. Commencez donc par le commencement, et continuez dans cette voie, c'est
garanti sans douleur… du moins sans douleur excessive .
Qu'est-ce que Python ?
V
ous avez décidé d'apprendre le Python et je ne peuxque vous en féliciter. J'essayerai d'anticiper vos questions et de ne laisser
personne en arrière.
Dans ce chapitre, je vais d'abord vous expliquer ce qu'est un langage de programmation. Nous verrons ensuite brièvement
l'histoire de Python, afin que vous sachiez au moins d'où vient ce langage ! Ce chapitre est théorique mais je vous conseille
vivement de le lire quand même.
La dernière section portera sur l'installation de Python, une étape essentielle pour continuer ce tutoriel. Que vous travailliez avec
Windows, Linuxou Mac OS X, vous y trouverez des explications précises sur l'installation.
Allez, on attaque !
Un langage de programmation ? Qu'est-ce que c'est ?
La communication humaine
Non, ceci n'est pas une explication biologique ou philosophique, ne partez pas !
Très simplement, si vous arrivez à comprendre ces suites de symboles étranges et déconcertants que sont les lettres de
l'alphabet, c'est parce que nous respectons certaines conventions, dans le langage et dans l'écriture. En français, il y a des règles
de grammaire et d'orthographe, je ne vous apprends rien. V
ous communiquez en connaissant plus ou moins consciemment ces
règles et en les appliquant plus ou moins bien, selon les cas.
Cependant, ces règles peuvent être aisément contournées : personne ne peut prétendre connaître l'ensemble des règles de la
grammaire et de l'orthographe françaises, et peu de gens s'en soucient.Après tout, même si vous faites des fautes, les personnes
avec qui vous communiquez pourront facilement vous comprendre.
Quand on communique avec un ordinateur, cependant, c'est très différent.
Mon ordinateur communique aussi !
Eh oui, votre ordinateur communique sans cesse avec vous et vous communiquez sans cesse avec lui. D'accord, il vous dit très
rarement qu'il a faim, que l'été s'annonce caniculaire et que le dernier disque de ce groupe très connu était à pleurer.
Il n'y a rien de magique si, quand vous cliquez sur la petite croixen haut à droite de l'application en cours, celle-ci comprend
qu'elle doit se fermer.
Le langage machine
En fait, votre ordinateur se fonde aussi sur un langage pour communiquer avec vous ou avec lui-même. Les opérations qu'un
ordinateur peut effectuer à la base sont des plus classiques et constituées de l'addition de deuxnombres, leur soustraction, leur
multiplication, leur division, entière ou non. Et pourtant, ces cinq opérations suffisent amplement à faire fonctionner les logiciels
de simulation les plus complexes ou les jeuxsuper-réalistes.
Tous ces logiciels fonctionnent en gros de la même façon :
une suite d'instructions écrites en langage machine compose le programme ;
lors de l'exécution du programme, ces instructions décrivent à l'ordinateur ce qu'il faut faire (l'ordinateur ne peut pas le
deviner).
Apprenez à programmer en Python 9/267
www.openclassrooms.com
10. Une liste d'instructions ? Qu'est-ce que c'est encore que cela ?
En schématisant volontairement, une instruction pourrait demander au programme de se fermer si vous cliquez sur la croixen
haut à droite de votre écran, ou de rester en tâche de fond si tel est son bon plaisir. Toutefois, en langage machine, une telle
action demande à elle seule un nombre assez important d'instructions.
Mais bon, vous pouvez vous en douter, parler avec l'ordinateur en langage machine, qui ne comprend que le binaire, ce n'est ni
très enrichissant, ni très pratique, et en tous cas pas très marrant.
On a donc inventé des langages de programmation pour faciliter la communication avec l'ordinateur.
Le langage binaire est uniquement constitué de 0 et de 1. «
01000010011011110110111001101010011011110111010101110010 », par exemple, signifie « Bonjour ». Bref, autant vous
dire que discuter en binaire avec un ordinateur peut être long (surtout pour vous).
Les langages de programmation
Les langages de programmation sont des langages bien plus faciles à comprendre pour nous, pauvres êtres humains que nous
sommes. Le mécanisme reste le même, mais le langage est bien plus compréhensible.Au lieu d'écrire les instructions dans une
suite assez peu intelligible de 0 et de 1, les ordres donnés à l'ordinateur sont écrits dans un « langage », souvent en anglais, avec
une syntaxe particulière qu'il est nécessaire de respecter. Mais avant que l'ordinateur puisse comprendre ce langage, celui-ci doit
être traduit en langage machine (figure suivante).
En gros, le programmeur « n'a qu'à » écrire des lignes de code dans le langage qu'il a choisi, les étapes suivantes sont
automatisées pour permettre à l'ordinateur de les décoder.
Il existe un grand nombre de langages de programmation et Python en fait partie. Il n'est pas nécessaire pour le moment de
donner plus d'explications sur ces mécanismes très schématisés. Si vous n'avez pas réussi à comprendre les mots de vocabulaire
et l'ensemble de ces explications, cela ne vous pénalisera pas pour la suite. Mais je trouvais intéressant de donner ces précisions
quant auxfaçons de communiquer avec son ordinateur.
Pour la petite histoire
Python est un langage de programmation, dont la première version est sortie en 1991. Créé par Guido van Rossum, il a voyagé du
Macintosh de son créateur, qui travaillait à cette époque au Centrum voor Wiskunde en Informatica auxPays-Bas, jusqu'à se
voir associer une organisation à but non lucratif particulièrement dévouée, la Python Software Foundation, créée en 2001. Ce
langage a été baptisé ainsi en hommage à la troupe de comiques les « Monty Python ».
À quoi peut servir Python ?
Python est un langage puissant, à la fois facile à apprendre et riche en possibilités. Dès l'instant où vous l'installez sur votre
ordinateur, vous disposez de nombreuses fonctionnalités intégrées au langage que nous allons découvrir tout au long de ce
livre.
Il est, en outre, très facile d'étendre les fonctionnalités existantes, comme nous allons le voir.Ainsi, il existe ce qu'on appelle des
bibliothèques qui aident le développeur à travailler sur des projets particuliers. Plusieurs bibliothèques peuvent ainsi être
installées pour, par exemple, développer des interfaces graphiques en Python.
Concrètement, voilà ce qu'on peut faire avec Python :
Partie 1 : Introduction à Python 10/267
www.openclassrooms.com