• Aide
  • Eurêkoi Eurêkoi

Livre

Python : comprendre les bases et maîtriser la programmation

Résumé

Accessible aux débutants comme à ceux qui veulent se perfectionner, un guide qui présente les concepts importants en Python 3 : tests, débogage, réutilisation du code, conseils de développement, entre autres. Avec des exercices de difficulté croissante à chaque fin de chapitre.


  • Contributeur(s)
  • Éditeur(s)
  • Date
    • DL 2022
  • Notes
    • Traduit de l'américain
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XXV-596 p.) : ill. ; 25 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-8073-3473-1
  • Indice
  • Quatrième de couverture
    • Python

      Comprendre les bases et maîtriser la programmation

      Destiné aux étudiants, aux programmeurs débutants et à tous ceux qui abordent Python, ce livre part des bases de ce langage pour aller vers des sujets plus complexes. Il propose de nombreux tutoriels et recettes de codes ainsi que les meilleures pratiques pour les tests, le débogage et d'autres astuces de développement.

      Les exercices de fin de chapitre vous aident à mettre en pratique ce que vous avez appris.

      • Découvrez les types de données simples, les opérations mathématiques de base et les manipulations textuelles
      • Utilisez des techniques de gestion des données avec des structures intégrées
      • Explorez la structure du code Python, y compris les fonctions
      • Écrivez de gros programmes Python à l'aide de modules et de packages
      • Plongez dans les objets, les classes et autres fonctionnalités orientées objet
      • Examinez le stockage, y compris les bases de données relationnelles ou NoSQL
      • Créez des clients Web, des serveurs, des API et des services
      • Gérez les tâches système telles que les programmes, les processus et les threads
      • Initiez-vous aux tâches concurrentielles et à la programmation réseau

  • Tables des matières
      • Avant-propos xix
      • Part 1. Les bases de Python
      • 1. Un avant-goût de Python 3
      • Mystères3
      • Petits programmes5
      • Un programme plus important7
      • Python dans le monde réel11
      • Python contre le langage de la Planète X12
      • Pourquoi Python ?14
      • Pourquoi pas Python ?16
      • Python 2 contre Python 317
      • Installer Python18
      • Exécuter Python18
      • Utilisation de l'interpréteur interactif18
      • Utilisation de fichiers Python19
      • Comment aller plus loin ?20
      • Votre moment de zénitude20
      • À venir21
      • À faire21
      • 2. Données : Types, Valeurs, Variables et Noms 23
      • Les données Python sont des objets23
      • Les types25
      • Mutabilité25
      • Valeurs littérales26
      • Variables26
      • Affectation28
      • Les variables sont des noms, pas des emplacements29
      • Attribution à plusieurs noms33
      • Réattribuer un nom33
      • Copier33
      • Choisir de bons noms de variables34
      • À venir35
      • À faire35
      • 3. Nombres 37
      • Booléens38
      • Entiers38
      • Entiers littéraux38
      • Opérations sur les nombres entiers40
      • Entiers et variables41
      • Précédence43
      • Bases44
      • Conversions de type47
      • Quelle est la taille d'un int ?49
      • Flottants49
      • Fonctions mathématiques51
      • À venir51
      • À faire51
      • 4. Choisir avec if 53
      • Commentaire avec #53
      • Continuation de lignes avec \54
      • Comparer avec if, elif et else55
      • Qu'est-ce qui est True ?58
      • Faites plusieurs comparaisons avec in59
      • Nouveau : l'opérateur morse60
      • À venir61
      • À faire61
      • 5. Chaînes de texte 63
      • Créer des chaînes avec des guillemets64
      • Créer des chaînes avec str()66
      • Échapper avec \66
      • Combiner en utilisant +68
      • Dupliquer avec *68
      • Extraire un caractère avec []69
      • Extraire une sous-chaîne avec une tranche70
      • Obtenir la longueur avec len()72
      • Scinder avec split()72
      • Combiner avec join()73
      • Remplacer avec replace()73
      • Tronquer avec strip()74
      • Rechercher et sélectionner75
      • Casse76
      • Alignement77
      • Formatage78
      • Ancien style : %78
      • Nouveau style : {} et format()81
      • Style le plus récent : f-strings82
      • Compléments à propos des chaînes83
      • À venir84
      • À faire84
      • 6. Boucles avec for et while 87
      • Répéter avec while87
      • Interrompre avec break88
      • Passer avec continue88
      • Vérifier l'utilisation de break avec else89
      • Itérer avec for et in89
      • Annuler avec break90
      • Passer avec continue90
      • Vérifier l'utilisation de break avec else90
      • Générer des séquences de nombres avec range()91
      • Autres itérateurs92
      • À venir92
      • À faire92
      • 7. Tuples et Listes 93
      • Tuples93
      • Création avec des virgules et ()94
      • Création avec tuple()95
      • Combiner des tuples à l'aide de +95
      • Dupliquer les éléments avec *96
      • Comparer les tuples96
      • Itérer avec for et in96
      • Modifier un tuple96
      • Listes97
      • Création avec []97
      • Créer ou convertir avec list()98
      • Créer à partir d'une chaîne avec split()98
      • Extraire un élément par [indice]98
      • Extraire des éléments avec des tranches99
      • Ajouter un élément à la fin avec append()100
      • Insérer un élément par position avec insert()100
      • Dupliquer tous les éléments avec *101
      • Combiner des listes à l'aide de extend() ou +101
      • Modifier un élément par [indice]101
      • Modifier des éléments avec une tranche102
      • Supprimer un élément par position avec del102
      • Supprimer un élément par valeur avec remove()103
      • Obtenez un élément par position et supprimez-le avec pop()103
      • Supprimer tous les éléments avec clear()104
      • Rechercher le décalage d'un élément par valeur avec index()104
      • Tester une valeur avec in104
      • Compter les occurrences d'une valeur avec count()105
      • Convertir une liste en chaîne avec join()105
      • Réorganiser les éléments avec sort() ou sorted()106
      • Obtenir la longueur avec len()106
      • Assignation avec =107
      • Copier avec copy(), list() ou une tranche107
      • Tout copier avec deepcopy()108
      • Comparer des listes109
      • Itérer avec for et in109
      • Itérer plusieurs séquences avec zip()110
      • Créer une liste avec une compréhension111
      • Listes de listes114
      • Tuples et listes114
      • Il n'y a pas de compréhensions de tuple115
      • À venir115
      • À faire 1l5
      • 8. Dictionnaires et Ensembles 117
      • Dictionnaires117
      • Créer avec {}117
      • Créer avec dict()118
      • Convertir avec dict()119
      • Ajouter ou modifier un élément par [clé]119
      • Obtenir un élément par [clé] ou avec get()121
      • Obtenir toutes les clés avec keys()121
      • Obtenir toutes les valeurs avec values()122
      • Obtenir toutes les paires clé-valeur avec items()122
      • Obtenir la longueur avec len()122
      • Combiner des dictionnaires avec {**a, **b}122
      • Combinez des dictionnaires avec update()123
      • Supprimer un élément par clé avec del124
      • Obtenir un élément par clé et le supprimer avec pop()124
      • Supprimer tous les éléments avec clear()124
      • Tester une clé avec in125
      • Assigner avec =125
      • Copier avec copy()125
      • Tout copier avec deepcopy()126
      • Comparer des dictionnaires127
      • Itérer avec for et in127
      • Compréhensions de dictionnaire128
      • Ensembles129
      • Créer avec set()130
      • Convertir avec set()130
      • Obtenir la longueur avec len()131
      • Ajouter un élément avec add()131
      • Supprimer un élément avec remove()131
      • Itérer avec for et in132
      • Tester une valeur avec in132
      • Combinaisons et opérateurs133
      • Compréhensions d'ensemble136
      • Créer un ensemble immuable avec frozenset()136
      • Structures de données jusqu'à présent136
      • Créez de plus grosses structures de données137
      • À venir138
      • À faire138
      • 9. Fonctions 141
      • Définir une fonction avec def141
      • Appeler une fonction avec les parenthèses142
      • Arguments et paramètres142
      • None est utile144
      • Arguments de position145
      • Arguments par mots-clés146
      • Spécifier des valeurs de paramètre par défaut146
      • Exploser/réunir des arguments positionnels avec *147
      • Exploser/réunir les arguments à mots-clés avec **149
      • Arguments uniquement avec mots-clés150
      • Arguments modifiables ou immuables151
      • Docstrings152
      • Les fonctions sont des citoyens de première classe152
      • Fonctions internes154
      • Closures155
      • Fonctions anonymes : lambda156
      • Générateurs157
      • Fonctions génératrices157
      • Compréhensions génératrices158
      • Décorateurs159
      • Espaces de noms et portée161
      • Utilisations de _ et dans les noms163
      • Récursion164
      • Fonctions asynchrones165
      • Les exceptions165
      • Gérer les erreurs avec try et except166
      • Créez vos propres exceptions167
      • À venir168
      • À faire168
      • 10. Oh Oh : Objets et Classes 169
      • Que sont les objets ?169
      • Objets simples170
      • Définir une classe avec class170
      • Les attributs171
      • Méthodes172
      • Initialisation172
      • Héritage174
      • Hériter d'une classe parente174
      • Surcharger une méthode175
      • Ajouter une méthode176
      • Obtenir de l'aide du parent avec super()177
      • Héritage multiple178
      • Mixins180
      • En défense de self180
      • Accès aux attributs181
      • Accès direct181
      • Getters et Setters181
      • Propriétés pour l'accès aux attributs182
      • Propriétés des valeurs calculées184
      • Masquage des noms pour la confidentialité184
      • Attributs de classe et d'objet185
      • Types de méthode186
      • Méthodes d'instance186
      • Méthodes de classe187
      • Méthodes statiques187
      • Typologie du canard188
      • Méthodes magiques190
      • Agrégation et composition193
      • Quand utiliser des objets ou autre chose194
      • Tuples nommés195
      • Classes de données196
      • Attrs197
      • À venir198
      • À faire198
      • 11. Modules, packages et bonus 199
      • Modules et déclaration d'import199
      • Importer un module199
      • Importer un module avec un autre nom201
      • Importer uniquement ce que vous voulez à partir d'un module202
      • Packages202
      • Le chemin de recherche de modules204
      • Imports relatifs et absolus205
      • Packages d'espaces de noms205
      • Modules contre Objets206
      • Bonus de la bibliothèque standard Python207
      • Gérer les clés manquantes avec setdefault() et defaultdict()207
      • Compter les éléments avec Counter()209
      • Trier par clé avec OrderedDict()211
      • Pile + file == deque211
      • Itérer sur les structures de code avec itertools212
      • Afficher joliment avec pprint()213
      • Tirages aléatoires214
      • Plus de puissance : obtenir d'autres ressources Python215
      • À venir215
      • À faire216
      • Part 2. Python dans la pratique
      • 12. Manipuler et modifier les données 219
      • Chaînes de texte : Unicode220
      • Chaînes Unicode Python 3221
      • UTF-8223
      • Encodage224
      • Décodage226
      • Entités HTML227
      • Normalisation228
      • Pour plus d'informations229
      • Chaînes de texte : expressions régulières230
      • Rechercher une correspondance de début exacte avec match()231
      • Rechercher la première correspondance avec search()232
      • Rechercher toutes les correspondances avec findall()232
      • Scinder aux correspondances avec split()233
      • Remplacer les correspondances avec sub()233
      • Motifs : caractères spéciaux233
      • Motifs : utilisation des spécificateurs235
      • Motifs : spécification de la sortie de match()238
      • Données binaires238
      • bytes et bytearray238
      • Convertir des données binaires avec struct240
      • Autres outils de données binaires243
      • Conversions octets/chaînes avec binascii()244
      • Opérateurs de bits244
      • Une analogie avec la bijouterie245
      • À venir245
      • À faire245
      • 13. Calendriers et horloges 247
      • Année bissextile248
      • Le module datetime249
      • Utilisation du module time251
      • Lire et écrire les dates et heures253
      • Toutes les conversions257
      • Modules alternatifs257
      • À venir258
      • À faire258
      • 14. Fichiers et répertoires 259
      • Entrée et sortie de fichier259
      • Créer ou ouvrir avec open()259
      • Écrire un fichier texte avec print()260
      • Écrire un fichier texte avec write()261
      • Lire un fichier texte avec read(), readline() ou readlines()262
      • Écrire un fichier binaire avec write()264
      • Lire un fichier binaire avec read()265
      • Fermer les fichiers automatiquement en utilisant with265
      • Changer de position avec seek()265
      • Installation en mémoire267
      • Opérations sur les fichiers267
      • Vérifier l'existence avec exists()268
      • Vérifier le type avec isfile()268
      • Copier avec copy()269
      • Changer le nom avec rename()269
      • Lien avec link() ou symlink()269
      • Changer les permissions avec chmod()270
      • Changer le propriétaire avec chown()270
      • Supprimer un fichier avec remove()270
      • Opérations de répertoires270
      • Créer avec mkdir()270
      • Supprimer avec rmdir()271
      • Répertorier le contenu avec listdir()271
      • Changer le répertoire courant avec chdir()272
      • Liste de fichiers correspondant à un motif avec glob()272
      • Noms de chemin272
      • Obtenir un chemin complet avec abspath()273
      • Obtenir le chemin d'un lien symbolique avec realpath()273
      • Construire un chemin avec os.path.join()274
      • Utiliser pathlib274
      • BytesIO et StringIO275
      • À venir276
      • À faire276
      • 15. Données temporelles : processus et concurrence 277
      • Programmes et processus277
      • Créer un processus avec sous-processus278
      • Créer un processus avec multiprocessing279
      • Tuer un processus avec terminate()280
      • Obtenir des informations système avec os281
      • Obtenir des informations sur le processus avec psutil282
      • Automatisation des commandes282
      • Invoke282
      • Autres assistants de commandes283
      • Concurrence284
      • Files d'attente285
      • Processus286
      • Threads287
      • concurrents.futures289
      • Green Threads et gevent293
      • twisted295
      • asyncio297
      • Redis297
      • Au-delà des files d'attente300
      • À venir301
      • À faire301
      • 16. Données en boîte : le stockage permanent 303
      • Fichiers texte plats303
      • Fichiers texte calibrés303
      • Fichiers texte tabulés304
      • CSV304
      • XML306
      • Un avis de sécurité XML308
      • HTML309
      • JSON309
      • YAML312
      • Tablib314
      • Pandas314
      • Fichiers de configuration316
      • Fichiers binaires317
      • Fichiers binaires calibrés et mappage de la mémoire317
      • Feuilles de calcul317
      • HDF5317
      • TileDB318
      • Bases de données relationnelles318
      • SQL319
      • DB-API320
      • SQLite321
      • MySQL323
      • PostgreSQL323
      • SQLAlchemy324
      • Autres packages d'accès aux bases de données330
      • Stockage de données NoSQL330
      • La famille dbm330
      • Memcached331
      • Redis332
      • Bases de données de documents339
      • Bases de données temporelles340
      • Bases de données de graphes340
      • Autres NoSQL341
      • Bases de données en texte intégral341
      • À venir342
      • À faire342
      • 17. Données spatiales : les réseaux 343
      • TCP/IP343
      • Sockets345
      • Scapy349
      • Netcat349
      • Modèles de mise en réseau350
      • Le modèle de requête-réponse350
      • ZeroMQ350
      • Autres outils de messagerie355
      • Le modèle de publication-abonnement355
      • Redis355
      • ZeroMQ357
      • Autres outils Pub-Sub358
      • Services Internet359
      • Système de noms de domaines359
      • Modules e-mail de Python360
      • Autres protocoles360
      • Services Web et API360
      • Sérialisation des données361
      • Sérialiser avec pickle361
      • Autres formats de sérialisation362
      • Appels de procédure distants (RPC)363
      • XML RPC364
      • JSON RPC365
      • RPC avec MessagePack366
      • Zerorpc367
      • gRPC368
      • Twirp369
      • Outils de gestion à distance369
      • Big Data massif369
      • Hadoop370
      • Spark370
      • Disco370
      • Dask370
      • Clouds371
      • Services Web Amazon372
      • Google Cloud372
      • Microsoft Azure372
      • OpenStack373
      • Docker373
      • Kubernetes373
      • À venir373
      • À faire373
      • 18. Le Web démêlé 375
      • Clients Web376
      • Tester avec telnet377
      • Tester avec curl378
      • Tester avec httpie379
      • Tester avec httpbin380
      • Bibliothèques Web standard de Python380
      • Au-delà de la bibliothèque standard : le module requests382
      • Serveurs Web384
      • Le serveur Web Python le plus simple384
      • Interface de passerelle de serveur Web (WSGI)385
      • ASGI386
      • Apache386
      • NGINX388
      • Autres serveurs Web Python388
      • Frameworks de serveurs Web388
      • Bottle389
      • Flask392
      • Django397
      • Autres Frameworks397
      • Frameworks de base de données398
      • Services Web et automatisation398
      • webbrowser398
      • webview399
      • API Web et REST400
      • Explorer et fouiller401
      • Scrapy402
      • BeautifulSoup402
      • Requests-HTML403
      • Regardons un film403
      • À venir406
      • À faire407
      • 19. Devenir Pythoniste 409
      • À propos de la programmation409
      • Trouver du code Python410
      • Installer des packages410
      • Utiliser pip411
      • Utiliser virtualenv412
      • Utiliser pipenv412
      • Utiliser un gestionnaire de packages413
      • Installer à partir des sources413
      • Environnements de développement intégrés413
      • IDLE413
      • PyCharm413
      • IPython414
      • Notebook Jupyter416
      • JupyterLab416
      • Nom et document416
      • Ajouter des suggestions de type418
      • Tester418
      • Vérifier avec pylint, pyflakes, flake8 ou pep8419
      • Tester avec unittest421
      • Tester avec doctest425
      • Tester avec nose426
      • Autres frameworks de test428
      • Intégration continue428
      • Déboguer le code Python428
      • Utiliser print()429
      • Utiliser des décorateurs429
      • Utiliser pdb430
      • Utiliser breakpoint()436
      • Écrire les messages d'erreur dans un journal437
      • Optimiser439
      • Mesurer les temps439
      • Algorithmes et structures de données443
      • Cython, NumPy et Extensions C444
      • PyPy444
      • Numba445
      • Contrôle de source446
      • Mercurial446
      • Git446
      • Distribuez vos programmes449
      • Cloner ce livre449
      • Pour en savoir plus450
      • Livres450
      • Sites Internet450
      • Groupes451
      • Conférences451
      • Obtenir un travail en Python451
      • À venir452
      • À faire452
      • 20. Illustrations avec Python 453
      • Graphiques 2D453
      • Bibliothèque standard453
      • PIL et Pillow454
      • ImageMagick457
      • Graphiques 3D458
      • Animation 3D458
      • Interfaces utilisateur graphiques459
      • Tracés, graphiques et visualisation461
      • Matplotlib461
      • Seaborn464
      • Bokeh465
      • Jeux465
      • Audio et musique466
      • À venir466
      • À faire466
      • 21. Python au travail 467
      • La suite Microsoft Office468
      • Effectuer des tâches commerciales468
      • Traitement des données en entreprise469
      • Extraction, transformation et chargement469
      • La validation des données473
      • Sources d'informations supplémentaires473
      • Packages d'affaires open source en Python474
      • Python en finance474
      • Sécurité des données d'entreprise474
      • Cartes475
      • Formats475
      • Dessiner une carte à partir d'un fichier de forme476
      • Géopandas479
      • Autres packages de cartographie480
      • Applications et données482
      • À venir483
      • À faire483
      • 22. Python pour les sciences 485
      • Maths et statistiques dans la bibliothèque standard485
      • Fonctions mathématiques485
      • Travailler avec des nombres complexes487
      • Calculer un flottant précis avec décimal488
      • Effectuer des calculs rationnels avec fractions489
      • Utiliser des séquences compactées avec array489
      • Gérer des statistiques simples avec statistics489
      • Produit matriciel490
      • Python scientifique490
      • NumPy490
      • Créer un tableau avec array()491
      • Créer un tableau avec arange()492
      • Créer un array avec zeros(), ones(), or random()492
      • Modifier la forme d'un tableau avec reshape()493
      • Obtenir un élément avec []494
      • Arithmétique sur les arrays495
      • Algèbre linéaire496
      • SciPy497
      • SciKit497
      • Pandas498
      • Python et les domaines scientifiques498
      • À venir500
      • À faire500
      • A. Matériel et logiciel pour les débutants 501
      • B. Installer Python 3 511
      • C. Quelque chose de complètement différent : Async 521
      • D. Solutions des exercices 527
      • E. Antisèches 575
      • Index 581

  • Origine de la notice:
    • BPI
  • Disponible - 681.234(07) LUB

    Niveau 3 - Informatique