Outils pour utilisateurs

Outils du site


issue186:critique3

Dead Simple Python - Idiomatic Python for the Impatient Programmer Jason C. McDonald Publisher: No Starch Press Release Date: November 22, 2022 (Amazon USA) # Pages: 752 ISBN-13: 9781718500921 Price: $59.99 USD Paperback (Preorder on Amazon.com USA) Website: https://nostarch.com/dead-simple-python When I got notification that this book was available for review, I saw the title “Dead Simple Python” and thought “Oh brother! This is another of THOSE books.” thinking that it would be for the quasi-beginner and so dumbed down that it would almost be unusable. However, I was wrong! Who is this book for? The book is mainly designed for programmers coming to Python from another programming language and intermediate level Python programmers.

Dead Simple Python - Idiomatic Python for the Impatient Programmer (Python simplissime - Python idiomatique pour le programmeur impatient)

Éditeur: No Starch Press Date de sortie: 22 novembre 2022 (Amazon USA) 752 pages ISBN-13: 9781718500921 Prix: 59.99 $ US livre broché (Précommander sur Amazon.com USA) Site Web : https://nostarch.com/dead-simple-python

Quand on m’a indiqué que ce livre était disponible à la critique, j’ai vu le titre « Dead Simple Python » (Python simplissime) et j’ai pensé, « Zut alors ! C’est encore un de CES livres-LÀ. » Je pensais que ce serait pour le quasi débutant et tellement simplifié qu’il serait presque inutilisable. Cependant, j’avais tort !

À qui ce livre est-il destiné ?

Ce livre a été principalement conçu pour des programmeurs venant à Python depuis un autre langage de programmation, ainsi que pour des programmeurs Python de niveau intermédiaire.

What does Simple mean? To quote from his own explanation: “The topics discussed herein may, at first blush, appear anything but simple. You may be wondering how simple a book this thick could actually be! When I titled this book Dead Simple Python, I was describing a retro-spective view of the topics, rather than a forward-looking one. One should recognize that any topic worth learning, when first approached, will feel insurmountable. Similarly, any explanation worthy of an existing software developer should possess enough depth to utterly disqualify it from the forward-looking label of “simple.”” The book is divided into five sections, “The Python Environment '', “Essential Structures”, “Data and Flow”, “Advanced Concepts” and “Beyond the Code”. The first section examines the basics of Python, its tools, basic syntax and project layout. The second (Beyond the Essential Structures) looks at variables, functions, classes and exceptions. Part 3 (Data and Flow) goes into ways to control execution flow and manipulating data like data structures, loops, iteration, generators and more. Part 4 (Advanced Concepts) looks into inheritance, introspection and concurrency. Finally part 5 digs into testing, debugging and deploying your projects (although the deploying portion gets its start in part 1 chapter 4, Project Structure and Imports).

Que veut dire Simple ?

Voici sa propre explication : « Les sujets présentés dans ce livre peuvent sembler au premier coup d’œil tout sauf simple. Vous vous demandez peut-être jusqu’à quel point un livre de cet épaisseur peut être effectivement simple. Quand j’ai choisi le titre Dead Simple Python, je décrivais une discussion rétrospective des sujets, plutôt qu'une qui serait tournée vers l’avenir. On doit reconnaître que tout sujet, qui vaut le coup d’être appris, donnera l’impression d’être insurmontable à première vue. De même, toute explication qui mérite la considération d’un développeur de logiciels existant devrait être assez approfondie pour le disqualifier complètement du label prospectif de “simple”. »

Le livre comporte cinq sections : « The Python Environment » (L’environnement Python), « Essential Structures » (Les structures essentielles), « Data and Flow » (Les données et les flux), « Advanced Concepts » (Les concepts avancés) et « Beyond the Code » (Au-delà du code). La première section examine les bases de Python, ses outils, la syntaxe de base et la disposition d’un projet. La deuxième (Au-delà des structures essentielles) regarde les variables, fonctions, classes et exceptions. La troisième partie (Données et flux) analyse les façons de contrôler les flux d’exécution et la manipulation des données comme des structures de données, les boucles, l'itération, les générateurs et plus encore. La quatrième partie (Concepts avancés), examine l’héritage, l’introspection et la congruence. Enfin, la cinquième partie étudie les tests, le débogage et le déploiement de vos projets (bien que la portion de déploiement commence dans le chapitre 4 de la 1re partie, Project Structure and Imports (Structure d’un projet et importations).

Going through chapter 5 (Variables and Types), with a very jaundiced eye expecting the most simple examples and topics possible here, I was surprised by the author discussing the functions id() and isinstance() (both of which are rarely discussed in “general” Python texts. In addition, the author goes through a very interesting examination of Python's garbage collection and even the {interpreter shutdown} module and then jumps into a very clear explanation of global scope. That’s just a quick glance at some of the topics that Mr. McDonald clearly demystifies and explains in this tremendous book. If I were to try to continue telling you about the other wonderful things that he explains, I would probably end up taking up ½ of the magazine for this month. Bottom Line The author does a wonderful job of making the complex and many times under explained concepts closer to truly simple. This is definitely a book that any Python programmer NEEDS to have in his bookshelf!

The author does a wonderful job of making the complex and many times under explained concepts closer to truly simple. This is definitely a book that any Python programmer NEEDS to have in his bookshelf! En parcourant le chapitre 5 (Variables et types), avec un œil jaunâtre, m'attendant à voir les exemples et les sujets les plus simples possibles, l’auteur m’a surpris en présentant les fonctions id() et isinstance() (car elles ne sont que rarement présentées dans des textes « généraux » concernant Python). De plus, l’auteur fait un examen très intéressant du nettoyage des déchets dans Python et même le module {interpreter shutdown} et puis se lance rapidement dans une explication très claire de sa portée globale. Cela n’est qu’un bref aperçu de quelques-uns des sujets que M. McDonald démystifie et explique clairement dans ce livre formidable. Si j’essayais de vous présenter tous les autres sujets merveilleux qu’il explique, j’utiliserais sans doute la moitié de la revue de ce mois. Conclusion L’auteur réussit de façon merveilleuse à rendre les concepts complexes et très souvent sous-expliqués, plus près de vraiment simple. C’est, sans conteste, un livre que tout programmeur Python DOIT AVOIR dans sa bibliothèque ! Table of Contents

Foreword Acknowledgments Introduction Part I: The Python Environment

 1: The Python Philosophy
 2: Your Workbench
 3: Syntax Crash Course
 4: Project Structure and Imports

Part II: Essential Structures

 5: Variables and Types
 6: Functions and Lambdas
 7: Objects and Classes
 8: Errors and Exceptions

Part III: Data and Flow

 9: Collections and Iteration
10: Generators and Comprehensions
11: Text IO and Context Managers
12: Binary and Serialization

Part IV: Advanced Concepts

13: Inheritance and Mixins
14: Metaclasses and ABCs
15: Introspection and Generics
16: Asynchrony and Concurrency
17: Threading and Parallelism

Part V: Beyond the Code

18: Packaging and Distribution
19: Debuggong and Logging
20: Testing and Profiling
21: The Parting of the Ways

Appendix A: Special Attributes and Methods Appendix B: Python Debugger (PDB) Commands Glossary**

Table des matières [Ndt : ce livre existe uniquement en anglais]

Préface Remerciements Introduction Partie I: The Python Environment (L’environnement Python)

 1: The Python Philosophy (La philosophie Python)
 2: Your Workbench (Votre établi)
 3: Syntax Crash Course (Cours rapide de syntaxe)
 4: Project Structure and Imports (Structure et importations du projet)

Part II: Essential Structures (Structures essentielles)

 5: Variables and Types (Variables et types)
 6: Functions and Lambdas (Fonctions et lambdas)
 7: Objects and Classes (Objets et classes)
 8: Errors and Exceptions (Erreurs et exceptions)

Part III: Data and Flow (Données et flux)

 9: Collections and Iteration (Collections et itération)
10: Generators and Comprehensions (Générateurs et compréhensions)
11: Text IO and Context Managers (E/S de texte et gestionnaires de contexte)
12: Binary and Serialization (Binaires et sérialisation)

Part IV: Advanced Concepts (Concepts avancés)

13: Inheritance and Mixins (Héritage et mixins)
14: Metaclasses and ABCs (Méta-classes et ABC)
15: Introspection and Generics (Introspection et génériques)
16: Asynchrony and Concurrency (Asynchronie et congruence)
17: Threading and Parallelism (Les threads et le parallélisme)

Part V: Beyond the Code (Au-delà du code)

18: Packaging and Distribution (Les paquets et la distribution)
19: Debugging and Logging (Le débogage et les journaux)
20: Testing and Profiling (Les tests et les profils)
21: The Parting of the Ways (Là où ça déverge)

Appendix A: Special Attributes and Methods (Attributs et méthodes spéciaux) Appendix B: Python Debugger (PDB) Commands (Commandes de débogage) Glossary (Glossaire)

issue186/critique3.txt · Dernière modification : 2022/11/03 16:06 de andre_domenech