• Aide
  • Eurêkoi Eurêkoi

Livre

Apprenez à programmer en Python

Résumé

Ce manuel rassemble 42 chapitres de difficulté progressive ainsi que des travaux pratiques pour l'apprentissage pas à pas de la programmation Python. Cette édition inclut des mises à jour pour la nouvelle version sur le tri, le threading et les tests unitaires.


  • Éditeur(s)
  • Date
    • DL 2022
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XIX-489 p.) : ill. en coul. ; 25 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-416-00655-5
  • Indice
  • Quatrième de couverture
    • Apprenez à programmer en Python

      4e édition

      Vous n'y connaissez rien en programmation et vous souhaitez apprendre un langage clair et intuitif ? Python est fait pour vous ! Vous découvrirez dans ce livre, conçu pour les débutants, tout ce dont vous avez besoin pour programmer, des bases à la bibliothèque standard, en passant par la programmation orientée objet et l'acquisition d'outils avancés ou professionnels pour devenir plus efficace.

      La 4e édition de cet ouvrage est enrichie et mise à jour pour tirer parti des nouveautés de Python 3.1x.

      Qu'allez-vous apprendre ?

      • Qu'est-ce que la programmation ? Quel langage choisir ? Pourquoi Python ?
      • Installation de Python et découverte du langage
      • Les concepts de la programmation orientée objet
      • Initiation aux interfaces graphiques avec Tkinter
      • Communication en réseau dans les programmes Python
      • Les bonnes pratiques pour améliorer vos codes
      • Les réflexes du « bon programmeur » pour tirer parti de votre code et de celui des autres
      • Les outils du programmeur professionnel (chasse aux erreurs, utilisation de bibliothèques...)

  • Tables des matières
      • Apprenez à programmer en Python

      • 4e édition

      • Vincent Le Goff

      • Éditions Eyrolles

      • I Introduction à Python1
      • 1 Qu'est-ce que Python? 3
      • Un langage de programmation ? Qu'est-ce que c'est ?4
      • La communication humaine4
      • Mon ordinateur communique aussi !4
      • Pour la petite histoire5
      • À quoi peut servir Python ?6
      • Un langage de programmation interprété6
      • Différentes versions de Python7
      • Installer Python8
      • Sous Windows8
      • Sous Linux9
      • Sous macOS9
      • Lancer Python9
      • 2 Premiers pas avec l'interpréteur de commandes Python 13
      • Où est-ce qu'on est, là ?14
      • Vos premières instructions : un peu de calcul mental pour l'ordinateur15
      • Saisir un nombre15
      • Opérations courantes16
      • 3 Le monde merveilleux des variables 19
      • Qu'est-ce qu'une variable ? Et à quoi cela sert-il ?20
      • Qu'est-ce qu'une variable ?20
      • Comment cela fonctionne-t-il ?20
      • Les types de données en Python23
      • Qu'entend-on par « type de donnée » ?23
      • Les différents types de données23
      • Les chaînes de caractères formatées25
      • Un petit bonus26
      • Quelques trucs et astuces pour vous faciliter la vie26
      • Première utilisation des fonctions27
      • Utiliser une fonction27
      • La fonction « type »28
      • La fonction print29
      • 4 Les structures conditionnelles 31
      • Vos premières conditions et blocs d'instructions32
      • Forme minimale en i f32
      • Forme complète (if, elif et else)33
      • De nouveaux opérateurs37
      • Les opérateurs de comparaison37
      • Prédicats et booléens37
      • Les mots-clés and, or et not38
      • Votre premier programme !40
      • Avant de commencer40
      • Sujet40
      • Solution ou résolution40
      • Correction42
      • 5 Les boucles 45
      • En quoi cela consiste-t-il ?46
      • La boucle while47
      • La boucle for49
      • Un petit bonus : les mots-clés break et continue52
      • Le mot-clé break52
      • Le mot-clé continue52
      • 6 Pas à pas vers la modularité (1/2) 55
      • Les fonctions : à vous de jouer56
      • La création de fonctions56
      • Valeurs par défaut des paramètres58
      • Signature d'une fonction59
      • L'instruction return60
      • Les annotations de type61
      • Les fonctions lambda64
      • Syntaxe64
      • Utilisation65
      • À la découverte des modules65
      • Les modules, qu'est-ce que c'est ?65
      • La méthode import65
      • Utiliser un espace de noms spécifique67
      • Une autre méthode d'importation : from ... import ...68
      • Bilan69
      • 7 Pas à pas vers la modularité (2/2) 71
      • Mettre notre code en boîte72
      • Fini, l'interpréteur ?72
      • Emprisonnons notre programme dans un fichier72
      • Sous Linux73
      • Sous Windows73
      • Je viens pour conquérir le monde... et créer mes propres modules75
      • Mes modules à moi75
      • Faire un test dans le module-même77
      • Les packages79
      • En théorie79
      • En pratique79
      • 8 Les exceptions 83
      • À quoi cela sert-il ?84
      • Forme minimale du bloc try85
      • Forme plus complète85
      • Exécuter le bloc except pour un type d'exception précis86
      • Les mots-clés else et finaLLy87
      • Un petit bonus : le mot-clé pass88
      • Les assertions89
      • Lever une exception91
      • 9 TP : tous au ZCasino 93
      • Notre sujet94
      • Notre règle du jeu94
      • Organisons notre projet94
      • Le module random95
      • Arrondir un nombre95
      • À vous de jouer95
      • Correction !95
      • Et maintenant ?98
      • II La programmation orientée objet côté utilisateur99
      • 10 Notre premier objet : la chaîne de caractères 101
      • Vous avez dit objet ?102
      • Les méthodes de la classe str102
      • Mettre en forme une chaîne104
      • Formater et afficher une chaîne106
      • Parcours et sélection de chaînes111
      • Parcours par indice111
      • Sélection de chaînes113
      • 11 Les listes et tuples (1/2) 115
      • Créons et éditons nos premières listes116
      • D'abord, qu'est-ce qu'une liste ?116
      • Création de listes116
      • Insérer des objets dans une liste117
      • Suppression d'éléments d'une liste119
      • Le parcours de listes121
      • La fonction enumerate121
      • Les listes et annotations de type124
      • Les tuples124
      • Affectation multiple125
      • Une fonction renvoyant plusieurs valeurs125
      • 12 Les listes et tuples (2/2) 127
      • Entre chaînes et listes128
      • Des chaînes aux listes128
      • Des listes aux chaînes128
      • Une application pratique129
      • Les listes et paramètres de fonctions130
      • Les fonctions dont on ne connaît pas à l'avance le nombre de paramètres130
      • Transformer une liste en paramètres de fonction133
      • Match et les listes133
      • Les compréhensions de liste137
      • Parcours simple137
      • Filtrage avec un branchement conditionnel137
      • Mélangeons un peu tout cela138
      • Nouvelle application concrète138
      • 13 Les dictionnaires 141
      • Création et édition de dictionnaires142
      • Créer un dictionnaire142
      • Supprimer des clés d'un dictionnaire145
      • Ordre des dictionnaires145
      • Un peu plus loin146
      • Les méthodes de parcours147
      • Parcours des clés147
      • Parcours des valeurs148
      • Parcours des clés et valeurs simultanément148
      • Les dictionnaires et paramètres de fonction149
      • Récupérer les paramètres nommés dans un dictionnaire149
      • Transformer un dictionnaire en paramètres nommés d'une fonction150
      • Les compréhensions de dictionnaire151
      • Match et les dictionnaires152
      • 14 Les ensembles 155
      • Utilité et création des ensembles156
      • Opérations sur les ensembles157
      • Opérations sur un ensemble157
      • Travail sur deux ensembles160
      • Quelques exemples d'utilisation162
      • 15 Les fichiers 165
      • Avant de commencer166
      • Tout d'abord, pourquoi lire ou écrire dans des fichiers ?166
      • Changer le répertoire de travail courant166
      • Chemins relatifs et absolus167
      • Lecture et écriture dans un fichier168
      • Ouverture du fichier168
      • Fermer le fichier170
      • Lire l'intégralité du fichier170
      • Écriture dans un fichier171
      • Écrire d'autres types de données171
      • Le mot-clé with171
      • Le module pathlib172
      • Enregistrer des objets dans des fichiers173
      • Enregistrer un objet dans un fichier173
      • Récupérer nos objets enregistrés174
      • 16 Portée des variables et références 177
      • La portée des variables178
      • Dans nos fonctions, quelles sont les variables accessibles ?178
      • La portée de nos variables179
      • Les variables globales183
      • Le principe des variables globales183
      • Utiliser concrètement les variables globales183
      • 17 TP : un bon vieux pendu 185
      • Votre mission186
      • Un jeu du pendu186
      • Le côté technique du problème186
      • Gérer les scores186
      • À vous de jouer187
      • Correction proposée187
      • données.py187
      • fonctions.py188
      • pendu.py191
      • En résumé192
      • III La programmation orientée objet côté développeur193
      • 18 Première approche des classes 195
      • Les classes, tout un monde196
      • Pourquoi utiliser des objets ?196
      • Choix du modèle196
      • Convention de nommage197
      • Nos premiers attributs197
      • Quand on crée notre objet199
      • Étoffons un peu notre constructeur199
      • Attributs de classe201
      • Les méthodes, la recette202
      • Le paramètre self204
      • Un peu d'introspection206
      • La fonction dir206
      • L'attribut spécial__dict__207
      • 19 Les propriétés 209
      • Qu'est-ce que l'encapsulation ?210
      • Les propriétés à la casserole211
      • Les propriétés en action211
      • Une propriété en lecture seule211
      • Une propriété en lecture et écriture215
      • Les attributs privés et les propriétés218
      • 20 Les méthodes spéciales 221
      • Édition de l'objet et accès aux attributs222
      • Édition de l'objet222
      • Représentation de l'objet223
      • Accès aux attributs de notre objet225
      • Les méthodes de conteneur227
      • Accès aux éléments d'un conteneur228
      • La méthode spéciale derrière le mot-clé in229
      • Connaître la taille d'un conteneur229
      • Les méthodes mathématiques229
      • Ce qu'il faut savoir229
      • Tout dépend du sens232
      • D'autres opérateurs234
      • Les méthodes de comparaison235
      • Des méthodes spéciales utiles à pickle236
      • La méthode spéciale __getstate__236
      • La méthode setstate237
      • On peut enregistrer dans un fichier autre chose que des dictionnaires238
      • Je veux encore plus puissant !239
      • 21 Parenthèse sur le tri en Python 241
      • Première approche du tri242
      • Deux méthodes242
      • Aperçu des critères de tri243
      • Trier avec des clés précises243
      • L'argument key244
      • Trier une liste d'objets246
      • Trier dans l'ordre inverse248
      • Plus rapide et plus efficace248
      • Les fonctions du module operator248
      • Trier selon plusieurs critères249
      • 22 L'héritage ???
      • Pour bien commencer???
      • L'héritage simple???
      • Petite précision258
      • Appel d'une méthode parente avec super ()258
      • Deux fonctions très pratiques260
      • L'héritage multiple260
      • Recherche des méthodes261
      • Retour sur les exceptions261
      • Création d'exceptions personnalisées262
      • 23 Derrière la boucle for 265
      • Les itérateurs266
      • Utiliser les itérateurs266
      • Créons nos itérateurs267
      • Les générateurs269
      • Les générateurs simples269
      • Les générateurs comme coroutines271
      • 24 TP : un jeu de cartes 275
      • Notre mission276
      • Session d'utilisation276
      • Explications277
      • Correction278
      • Pour conclure281
      • 25 Les décorateurs 283
      • Qu'est-ce que c'est ?284
      • Syntaxe et exemples284
      • Présentation285
      • Un premier exemple : mesurer la durée de nos fonctions287
      • Des paramètres dans nos fonctions décorées289
      • Des décorateurs avec des paramètres290
      • La syntaxe sans classe293
      • Quelques décorateurs courants293
      • Les propriétés294
      • Les méthodes de classe295
      • Les méthodes statiques296
      • Les classes de données (dataclasses)297
      • 26 Les métaclasses 301
      • Retour sur le processus d'instanciation302
      • La méthode __new__303
      • Créer une classe dynamiquement304
      • La méthode que nous connaissons304
      • Créer une classe dynamiquement305
      • Définition d'une métaclasse307
      • La méthode __new__308
      • La méthode __init__308
      • Les métaclasses en action309
      • Pour conclure310
      • IV Les merveilles de la bibliothèque standard313
      • 27 Les expressions régulières 315
      • Que sont les expressions régulières ?316
      • Quelques éléments de syntaxe pour les expressions régulières316
      • Concrètement, comment cela se présente-t-il ?316
      • Des caractères ordinaires316
      • Rechercher au début ou à la fin de la chaîne317
      • Contrôler le nombre d'occurrences317
      • Les classes de caractères318
      • Les groupes318
      • Le module re318
      • Chercher dans une chaîne318
      • Remplacer une expression321
      • Des expressions compilées322
      • 28 Le temps 325
      • Le module time326
      • Représenter une date et une heure dans un nombre unique326
      • La date et l'heure de façon plus présentable327
      • Récupérer un timestamp depuis une date328
      • Mettre en pause l'exécution du programme pendant un temps déterminé329
      • Formater un temps329
      • Bien d'autres fonctions330
      • Le module datetime330
      • Représenter une date330
      • Représenter une heure331
      • Représenter des dates et heures332
      • Différence de dates et durées332
      • 29 Un peu de programmation système 335
      • Les flux standards336
      • Accéder aux flux standards336
      • Modifier les flux standards337
      • Les signaux338
      • Les différents signaux338
      • Intercepter un signal339
      • Interpréter les arguments de la ligne de commande340
      • Accéder à la console de Windows341
      • Accéder aux arguments de la ligne de commande341
      • Interpréter les arguments de la ligne de commande342
      • Exécuter une commande système depuis Python347
      • La fonction System347
      • La fonction popen348
      • 30 Un peu de mathématiques 349
      • Pour commencer, le module math350
      • Fonctions usuelles350
      • Un peu de trigonométrie350
      • Arrondir un nombre351
      • Des fractions avec le module fractions352
      • Créer une fraction352
      • Manipuler les fractions353
      • Du pseudo-aléatoire avec random353
      • Du pseudo-aléatoire354
      • La fonction random354
      • randrange et randint354
      • Opérations sur des séquences355
      • 31 Gestion des mots de passe 357
      • Obtenir un mot de passe saisi par l'utilisateur358
      • Chiffrer un mot de passe358
      • Générer des mots de passe aléatoires363
      • 32 Le réseau 367
      • Brève présentation du réseau368
      • Le protocole TCP368
      • Clients et serveur368
      • Les différentes étapes369
      • Etablir une connexion369
      • Les sockets370
      • Construire notre socket370
      • Connecter le socket370
      • Faire écouter notre socket371
      • Accepter une connexion venant du client371
      • Création du client372
      • Connecter le client372
      • Faire communiquer nos sockets372
      • Fermer la connexion373
      • Le serveur373
      • Le client374
      • Un serveur plus élaboré375
      • Le module select376
      • Et encore plus379
      • 33 Les tests unitaires avec unittest 381
      • Pourquoi tester ?382
      • Premiers exemples de tests unitaires383
      • Tester une fonctionnalité existante384
      • Les principales méthodes d'assertion391
      • La découverte automatique des tests392
      • Lancement de tests unitaires depuis un répertoire392
      • Structure d'un projet avec ses tests393
      • 34 Déboguer son code avec pdb 395
      • Déboguer, ça sert à quoi ?396
      • Parlons de bogues396
      • Le débogueur n'est pas un plus397
      • pdb pour remonter à la source d'erreurs397
      • Lancer pdb398
      • Examiner le contexte400
      • Un remplacement de nom402
      • Pour conclure, ou continuer405
      • 35 La programmation parallèle avec threading 407
      • Création de threads408
      • Premier exemple d'un thread408
      • La synchronisation des threads412
      • Opérations concurrentes412
      • Accès simultané à des ressources413
      • Les verrous à la rescousse414
      • 36 La programmation asynchrone avec asyncio 417
      • La programmation asynchrone418
      • Retour au code418
      • Pourquoi une tâche se mettrait-elle en attente ?423
      • La puissance des tâches asynchrones424
      • Dépendances à installer424
      • Version synchrone425
      • Version asynchrone428
      • Quelques autres exemples432
      • 37 Des interfaces graphiques avec Tkinter 435
      • Présentation de Tkinter436
      • Votre première interface graphique436
      • De nombreux widgets438
      • Les widgets les plus communs438
      • Organiser ses widgets dans la fenêtre441
      • Bien d'autres widgets441
      • Les commandes442
      • Pour conclure444
      • V Annexes445
      • 38 Écrire nos programmes Python dans des fichiers 447
      • Garder le code dans un fichier448
      • Exécuter notre code sur Windows448
      • Sur les systèmes Unix449
      • Préciser l'encodage de travail450
      • Mettre notre programme en pause450
      • 39 Distribuer facilement nos programmes Python avec Pylnstaller 453
      • En théorie454
      • Avantages de Pylnstaller454
      • En pratique454
      • Installation454
      • Utiliser le script pyinstaller455
      • 40 De bonnes pratiques 457
      • Pourquoi suivre les conventions des PEP ?458
      • La PEP 20 : toute une philosophie458
      • La PEP 8 : des conventions précises460
      • Introduction460
      • Forme du code460
      • Directives d'importation461
      • Le signe espace dans les expressions et instructions462
      • Commentaires464
      • Conventions de nommage464
      • Conventions de programmation465
      • Conclusion466
      • La PEP 257 : de belles documentations466
      • Qu'est-ce qu'une docstring ?467
      • Les docstrings sur une seule ligne467
      • Les docstrings sur plusieurs lignes468
      • 41 Installer et gérer nos dépendances en Python 471
      • Pourquoi apprendre à utiliser des dépendances en Python ?472
      • Installer des dépendances avec pi p473
      • Avant de commencer473
      • La commande pi p474
      • Installons flask475
      • Tester flask476
      • Les environnements indépendants477
      • Créer un environnement indépendant (virtualenv)479
      • Activer notre environnement indépendant479
      • Installer une dépendance dans notre environnement indépendant480
      • 42 Pour finir et bien continuer 483
      • Quelques références484
      • La documentation officielle484
      • Le tutoriel officiel484
      • Le wiki Python485
      • L'index des PEP (Python Enhancement Proposai)485
      • La documentation par version485
      • Des bibliothèques tierces486
      • Pour créer une interface graphique486
      • Dans le monde du Web486
      • Un peu de réseau487
      • Pour conclure487
      • Index 489

  • Origine de la notice:
    • BPI
  • Disponible - 681.234 LEG

    Niveau 3 - Informatique