Outils pour utilisateurs

Outils du site


issue186:critique3

Ceci est une ancienne révision du document !


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.

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).

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!

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

issue186/critique3.1667031791.txt.gz · Dernière modification : 2022/10/29 10:23 de auntiee