Apprendre Python - Cours gratuit et exercices corrigés

Apprendre Python !
Sommaire
1Sommaire ...........................................................................................................................................
4Lire aussi ............................................................................................................................................
6 Apprendre Python ! ............................................................................................................................
6Partie 1 : Introduction à Python ...........................................................................................................
7Qu'est-ce que Python ? .....................................................................................................................................................
7Un langage de programmation ? Qu'est-ce que c'est ? ..............................................................................................................................................
7La communication humaine ........................................................................................................................................................................................
7Mon ordinateur communique aussi ! ...........................................................................................................................................................................
8Pour la petite histoire ..................................................................................................................................................................................................
8Un langage de programmation interprété ...................................................................................................................................................................
9Différentes versions de Python ...................................................................................................................................................................................
9Installer Python ............................................................................................................................................................................................................
9Sous Windows ............................................................................................................................................................................................................
9Sous Linux ...................................................................................................................................................................................................................
10Sous Mac OS ............................................................................................................................................................................................................
10Lancer Python ...........................................................................................................................................................................................................
12Premiers pas avec l'interpréteur de commandes Python ...............................................................................................
12Où est-ce qu'on est, là ? ...........................................................................................................................................................................................
13Vos premières instructions : un peu de calcul mental pour l'ordinateur ....................................................................................................................
13Entrer un nombre ......................................................................................................................................................................................................
14Opérations courantes ................................................................................................................................................................................................
16Le monde merveilleux des variables ...............................................................................................................................
16C'est quoi, des variables ? Et à quoi ça sert ? ..........................................................................................................................................................
16C'est quoi, des variables ? ........................................................................................................................................................................................
16Comment ça marche ? ..............................................................................................................................................................................................
18Les types de données en Python ..............................................................................................................................................................................
18Qu'entend-t-on par "type de donnée" ? .....................................................................................................................................................................
18Les différents types de données ...............................................................................................................................................................................
20Un petit bonus ...........................................................................................................................................................................................................
21Quelques trucs et astuces pour vous faciliter la vie ..................................................................................................................................................
21Première utilisation des fonctions .............................................................................................................................................................................
21Utiliser une fonction ...................................................................................................................................................................................................
22La fonction "type" ......................................................................................................................................................................................................
23La fonction "print" ......................................................................................................................................................................................................
25Les structures conditionnelles .........................................................................................................................................
25Vos premières conditions et blocs d'instructions .......................................................................................................................................................
25Forme minimale en if .................................................................................................................................................................................................
26Forme complète (if, elif et else) .................................................................................................................................................................................
28De nouveaux opérateurs ...........................................................................................................................................................................................
28Les opérateurs de comparaison ................................................................................................................................................................................
28Prédicats et booléens ................................................................................................................................................................................................
29Les mots clés "and", "or" et "not" ..............................................................................................................................................................................
30Votre premier programme ! .......................................................................................................................................................................................
30Avant de commencer ................................................................................................................................................................................................
30Sujet ..........................................................................................................................................................................................................................
31Solution ou résolution ................................................................................................................................................................................................
32Correction ..................................................................................................................................................................................................................
33Les boucles .....................................................................................................................................................................
34En quoi ça consiste ? ................................................................................................................................................................................................
35La boucle while ..........................................................................................................................................................................................................
36La boucle for ..............................................................................................................................................................................................................
38Un petit bonus : les mot-clés break et continue ........................................................................................................................................................
38break .........................................................................................................................................................................................................................
38continue .....................................................................................................................................................................................................................
40Pas à pas vers la modularité (1/2) ..................................................................................................................................
40Les fonctions : à vous de jouer .................................................................................................................................................................................
40La création de fonctions ............................................................................................................................................................................................
42Valeurs par défaut des paramètres ...........................................................................................................................................................................
43Signature d'une fonction ............................................................................................................................................................................................
43L'instruction return .....................................................................................................................................................................................................
44Les fonctions lambda ................................................................................................................................................................................................
44Syntaxe .....................................................................................................................................................................................................................
45Utilisation ...................................................................................................................................................................................................................
45À la découverte des modules ....................................................................................................................................................................................
45Les modules, qu'est-ce que c'est ? ...........................................................................................................................................................................
45La méthode import ....................................................................................................................................................................................................
47Utiliser un espace de noms spécifique ......................................................................................................................................................................
48Une autre méthode d'importation : from ... import ... .................................................................................................................................................
48Bilan ..........................................................................................................................................................................................................................
48Pas à pas vers la modularité (2/2) ..................................................................................................................................
49Mettre en boîte notre code ........................................................................................................................................................................................
49Fini, l'interpréteur ? ....................................................................................................................................................................................................
49Emprisonnons notre programme dans un fichier ......................................................................................................................................................
50Quelques ajustements ..............................................................................................................................................................................................
Sommaire 1/248
51Je viens pour conquérir le monde... et créer mes propres modules .........................................................................................................................
51Mes modules à moi ...................................................................................................................................................................................................
52Faire un test de module dans le module-même ........................................................................................................................................................
53Les packages ............................................................................................................................................................................................................
53En théorie ..................................................................................................................................................................................................................
54En pratique ................................................................................................................................................................................................................
56Les exceptions ................................................................................................................................................................
56À quoi ça sert ? .........................................................................................................................................................................................................
56Forme minimale du bloc try .......................................................................................................................................................................................
57Forme plus complète .................................................................................................................................................................................................
57Exécuter le bloc except pour un type d'exceptions précis .........................................................................................................................................
59Les mots-clés else et finally ......................................................................................................................................................................................
60Un petit bonus : le mot-clé pass ................................................................................................................................................................................
60Les assertions ...........................................................................................................................................................................................................
61Lever une exception ..................................................................................................................................................................................................
62TP 1 : tous au ZCasino ....................................................................................................................................................
63Notre sujet .................................................................................................................................................................................................................
63Notre règle du jeu ......................................................................................................................................................................................................
63Organisons notre projet .............................................................................................................................................................................................
63Le module random ....................................................................................................................................................................................................
64Arrondir un nombre ...................................................................................................................................................................................................
64A vous de jouer ..........................................................................................................................................................................................................
64Correction ! ................................................................................................................................................................................................................
66Et maintenant ? .........................................................................................................................................................................................................
66Partie 2 : La Programmation Orientée Objet en tant qu'utilisateur ....................................................
67Notre premier objet : les chaînes de caractères .............................................................................................................
67Vous avez dit objet ? .................................................................................................................................................................................................
67Les méthodes de la classe str ...................................................................................................................................................................................
68Mettre en forme une chaîne ......................................................................................................................................................................................
70Formater et afficher une chaîne ................................................................................................................................................................................
73Parcours et sélection de chaînes ..............................................................................................................................................................................
73Parcours par indice ...................................................................................................................................................................................................
74Sélection de chaînes .................................................................................................................................................................................................
77Les listes et tuples (1/2) ..................................................................................................................................................
77Créons et éditons nos premières listes .....................................................................................................................................................................
77D'abord c'est quoi, une liste ? ...................................................................................................................................................................................
77Création de listes ......................................................................................................................................................................................................
78Ajouter des objets dans une liste ..............................................................................................................................................................................
80Suppression d'éléments d'une liste ...........................................................................................................................................................................
81Le parcours de listes .................................................................................................................................................................................................
82La fonction range .......................................................................................................................................................................................................
82La fonction enumerate ..............................................................................................................................................................................................
84Un petit coup d'œil aux tuples ...................................................................................................................................................................................
85Affectation multiple ....................................................................................................................................................................................................
85Une fonction retournant plusieurs valeurs .................................................................................................................................................................
86Les listes et tuples (2/2) ..................................................................................................................................................
87Entre chaînes et listes ...............................................................................................................................................................................................
87Des chaînes aux listes ..............................................................................................................................................................................................
87Des listes aux chaînes ..............................................................................................................................................................................................
88Une application pratique ...........................................................................................................................................................................................
88Les listes et paramètres de fonctions ........................................................................................................................................................................
89Les fonctions dont on ne connaît pas le nombre de paramètres à l'avance .............................................................................................................
91Transformer une liste en paramètres de fonction ......................................................................................................................................................
92Les compréhensions de liste .....................................................................................................................................................................................
92Parcours simple ........................................................................................................................................................................................................
92Filtrage avec un branchement conditionnel ..............................................................................................................................................................
93Mélangeons un peu tout ça .......................................................................................................................................................................................
93Nouvelle application concrète ...................................................................................................................................................................................
96Les dictionnaires .............................................................................................................................................................
96Création et édition de dictionnaires ...........................................................................................................................................................................
96Créer un dictionnaire .................................................................................................................................................................................................
98Supprimer des clés d'un dictionnaire ........................................................................................................................................................................
99Un peu plus loin ........................................................................................................................................................................................................
100Les méthodes de parcours ......................................................................................................................................................................................
100Parcours des clés ....................................................................................................................................................................................................
101Parcours des valeurs ..............................................................................................................................................................................................
101Parcours des clés et valeurs simultanément ...........................................................................................................................................................
101Les dictionnaires et paramètres de fonction ...........................................................................................................................................................
102Récupérer les paramètres nommés dans un dictionnaire .......................................................................................................................................
102Transformer un dictionnaire en paramètres nommés d'une fonction ......................................................................................................................
103Les fichiers ....................................................................................................................................................................
104Avant de commencer ..............................................................................................................................................................................................
104Mais d'abord pourquoi lire ou écrire dans des fichiers ? .........................................................................................................................................
104Changer le répertoire de travail courant ..................................................................................................................................................................
104Chemins relatifs et absolus .....................................................................................................................................................................................
105Lecture et écriture dans un fichier ...........................................................................................................................................................................
105Ouverture du fichier .................................................................................................................................................................................................
106Fermer le fichier ......................................................................................................................................................................................................
107Lire l'intégralité du fichier .........................................................................................................................................................................................
107Écriture dans un fichier ...........................................................................................................................................................................................
107Écrire d'autres types de données ............................................................................................................................................................................
Sommaire 2/248
107Le mot-clé with ........................................................................................................................................................................................................
108Enregistrer des objets dans des fichiers .................................................................................................................................................................
108Enregistrer un objet dans un fichier ........................................................................................................................................................................
109Récupérer nos objets enregistrés ...........................................................................................................................................................................
111Portée des variables et références ................................................................................................................................
111La portée des variables ...........................................................................................................................................................................................
111Dans nos fonctions, quelles variables sont accessibles ? .......................................................................................................................................
111La portée de nos variables ......................................................................................................................................................................................
115Les variables globales .............................................................................................................................................................................................
115Le principe des variables globales ..........................................................................................................................................................................
115Utiliser concrètement les variables globales ...........................................................................................................................................................
117TP 2 : un bon vieux petit pendu .....................................................................................................................................
117Votre mission ...........................................................................................................................................................................................................
117Un jeu du pendu ......................................................................................................................................................................................................
117Le côté technique du problème ...............................................................................................................................................................................
117Gérer les scores ......................................................................................................................................................................................................
117À vous de jouer ........................................................................................................................................................................................................
118Correction proposée ................................................................................................................................................................................................
118donnees.py ..............................................................................................................................................................................................................
118fonctions.py .............................................................................................................................................................................................................
120pendu.py ..................................................................................................................................................................................................................
121Résumé ...................................................................................................................................................................................................................
121Partie 3 : La Programmation Orientée Objet, côté développeur .....................................................
122Première approche des classes ....................................................................................................................................
122Les classes, tout un monde ....................................................................................................................................................................................
122Pourquoi utiliser des objets ? ..................................................................................................................................................................................
122Choix du modèle .....................................................................................................................................................................................................
122Convention de nommage ........................................................................................................................................................................................
123Nos premiers attributs .............................................................................................................................................................................................
124Quand on créée notre objet… .................................................................................................................................................................................
124Étoffons un peu notre constructeur .........................................................................................................................................................................
126Attributs de classe ...................................................................................................................................................................................................
126Les méthodes, la recette .........................................................................................................................................................................................
128Le paramètre self ....................................................................................................................................................................................................
129Des méthodes de classe .........................................................................................................................................................................................
130Un peu d'introspection .............................................................................................................................................................................................
130La fonction dir ..........................................................................................................................................................................................................
131L'attribut spécial __dict__ ........................................................................................................................................................................................
132Les propriétés ................................................................................................................................................................
133Que dit l'encapsulation ? .........................................................................................................................................................................................
133Les propriétés à la casserole ..................................................................................................................................................................................
134Les propriétés en action ..........................................................................................................................................................................................
135Résumons le principe d'encapsulation en Python ...................................................................................................................................................
136Les méthodes spéciales ................................................................................................................................................
137Édition de l'objet et accès aux attributs ...................................................................................................................................................................
137Édition de l'objet ......................................................................................................................................................................................................
138Représentation de l'objet .........................................................................................................................................................................................
139Accès aux attributs de notre objet ...........................................................................................................................................................................
142Les méthodes de conteneur ....................................................................................................................................................................................
142Accès aux éléments d'un conteneur .......................................................................................................................................................................
142La méthode spéciale derrière le mot-clé in .............................................................................................................................................................
143Connaître la taille d'un conteneur ............................................................................................................................................................................
143Les méthodes mathématiques ................................................................................................................................................................................
143Ce qu'il faut savoir ...................................................................................................................................................................................................
145Tout dépend du sens ...............................................................................................................................................................................................
145D'autres opérateurs .................................................................................................................................................................................................
146Les méthodes de comparaison ...............................................................................................................................................................................
147Des méthodes spéciales utiles à pickle ..................................................................................................................................................................
147La méthode spéciale __getstate__ .........................................................................................................................................................................
148La méthode __setstate__ ........................................................................................................................................................................................
149On peut enregistrer en fichier autre chose que des dictionnaires ...........................................................................................................................
149Je veux encore plus puissant ! ................................................................................................................................................................................
149L'héritage .......................................................................................................................................................................
150Pour bien commencer .............................................................................................................................................................................................
151L'héritage simple .....................................................................................................................................................................................................
154Petite précision ........................................................................................................................................................................................................
154Deux fonctions très pratiques ..................................................................................................................................................................................
155L'héritage multiple ...................................................................................................................................................................................................
155Recherche des méthodes .......................................................................................................................................................................................
156Retour sur les exceptions ........................................................................................................................................................................................
156Création d'exceptions personnalisées .....................................................................................................................................................................
158Derrière la boucle for .....................................................................................................................................................
159Les itérateurs ...........................................................................................................................................................................................................
159Utiliser les itérateurs ................................................................................................................................................................................................
160Créons nos itérateurs ..............................................................................................................................................................................................
161Les générateurs ......................................................................................................................................................................................................
161Les générateurs simples .........................................................................................................................................................................................
163Les générateurs comme co-routines .......................................................................................................................................................................
165Voir aussi .................................................................................................................................................................................................................
166TP 3 : un dictionnaire ordonné ......................................................................................................................................
166Notre mission ..........................................................................................................................................................................................................
Sommaire 3/248
166Spécifications ..........................................................................................................................................................................................................
167Exemple de manipulation ........................................................................................................................................................................................
167Tous au départ ! .......................................................................................................................................................................................................
167Correction proposée ................................................................................................................................................................................................
170Le mot de la fin ........................................................................................................................................................................................................
172Les décorateurs .............................................................................................................................................................
172Qu'est-ce que c'est ? ...............................................................................................................................................................................................
172En théorie ................................................................................................................................................................................................................
172Format le plus simple ..............................................................................................................................................................................................
174Modifier le comportement de notre fonction ............................................................................................................................................................
176Un décorateur avec des paramètres .......................................................................................................................................................................
179Tenir compte des paramètres de notre fonction ......................................................................................................................................................
180Des décorateurs s'appliquant aux définitions de classes ........................................................................................................................................
180Chaîner nos décorateurs .........................................................................................................................................................................................
180Exemples d'application ............................................................................................................................................................................................
180Des classes singleton .............................................................................................................................................................................................
181Contrôler les types passés à notre fonction ............................................................................................................................................................
184Partie 4 : Les merveilles de la librairie standard ..............................................................................
184Les expressions régulières ...........................................................................................................................................
184Que sont les expressions régulières ? ....................................................................................................................................................................
184Quelques syntaxes pour les expressions régulières ...............................................................................................................................................
184Concrètement, ça se présente comment ? .............................................................................................................................................................
184Des caractères ordinaires .......................................................................................................................................................................................
185Rechercher au début ou à la fin de la chaîne ..........................................................................................................................................................
185Contrôler le nombre d'occurences ..........................................................................................................................................................................
186Les classes de caractères .......................................................................................................................................................................................
186Les groupes .............................................................................................................................................................................................................
186Le module re ...........................................................................................................................................................................................................
186Chercher dans une chaîne ......................................................................................................................................................................................
188Remplacer une expression .....................................................................................................................................................................................
190Des expressions compilées ....................................................................................................................................................................................
191Les temps ......................................................................................................................................................................
192Le module time ........................................................................................................................................................................................................
192Représenter une date et une heure dans un nombre unique ..................................................................................................................................
193La date et l'heure de façon plus présentable ..........................................................................................................................................................
194Récupérer un timestamp depuis une date ..............................................................................................................................................................
194Mettre en pause l'exécution du programme pendant un temps déterminé .............................................................................................................
194Formatter un temps .................................................................................................................................................................................................
195Bien d'autres fonctions ............................................................................................................................................................................................
195Le module datetime .................................................................................................................................................................................................
196Représenter une date ..............................................................................................................................................................................................
197Représenter une heure ...........................................................................................................................................................................................
197Représenter des dates et heures ............................................................................................................................................................................
199Un peu de programmation système ..............................................................................................................................
199Les entrées et sorties standard ...............................................................................................................................................................................
199Accéder aux entrées et sorties standard .................................................................................................................................................................
200Modifier les entrées et sorties standard ..................................................................................................................................................................
201Les signaux .............................................................................................................................................................................................................
201Les différents signaux .............................................................................................................................................................................................
201Intercepter un signal ................................................................................................................................................................................................
203Interpréter les arguments de la ligne de commande ...............................................................................................................................................
203Accéder à la console sous Windows .......................................................................................................................................................................
204Accéder aux arguments de la ligne de commande .................................................................................................................................................
205Interpréter les arguments de la ligne de commande ...............................................................................................................................................
208Exécuter une commande système depuis Python ..................................................................................................................................................
208La fonction system ..................................................................................................................................................................................................
208La fonction popen ....................................................................................................................................................................................................
209Un peu de mathématiques ............................................................................................................................................
210Pour commencer, le module math ..........................................................................................................................................................................
210Fonctions usuelles ..................................................................................................................................................................................................
210Un peu de trigonométrie ..........................................................................................................................................................................................
211Arrondir un nombre ..................................................................................................................................................................................................
211Des fractions avec... le module fractions .................................................................................................................................................................
211Créer une fraction ....................................................................................................................................................................................................
212Manipuler les fractions ............................................................................................................................................................................................
213Du pseudo-aléatoire avec random ..........................................................................................................................................................................
213Du pseudo-aléatoire ................................................................................................................................................................................................
213La fonction random .................................................................................................................................................................................................
213randrange et randint ................................................................................................................................................................................................
214Opérations sur des séquences ...............................................................................................................................................................................
215Gestion des mots de passe ...........................................................................................................................................
216Réceptionner un mot de passe entré par l'utilisateur ..............................................................................................................................................
216Chiffrer un mot de passe .........................................................................................................................................................................................
216Chiffrer un mot de passe ? ......................................................................................................................................................................................
218Chiffrer un mot de passe .........................................................................................................................................................................................
220Le réseau ......................................................................................................................................................................
221Brève présentation du réseau .................................................................................................................................................................................
221Le protocole TCP ....................................................................................................................................................................................................
221Clients et serveur ....................................................................................................................................................................................................
221Les différentes étapes .............................................................................................................................................................................................
222Etablir une connexion ..............................................................................................................................................................................................
Lire aussi 4/248
1 / 249 100%

Apprendre Python - Cours gratuit et exercices corrigés

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

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