Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns (Anglais) Broché – 29 août 2013
|Neuf à partir de||Occasion à partir de|
- Choisissez parmi 17 000 points de collecte en France
- Les membres du programme Amazon Premium bénéficient de livraison gratuites illimitées
- Trouvez votre point de collecte et ajoutez-le à votre carnet d’adresses
- Sélectionnez cette adresse lors de votre commande
Produits fréquemment achetés ensemble
Les clients ayant acheté cet article ont également acheté
Descriptions du produit
Présentation de l'éditeur
Winner of the 2014 Jolt Award for "Best Book"
“Whether you are an experienced programmer or are starting your career, Python in Practice is full of valuable advice and example to help you improve your craft by thinking about problems from different perspectives, introducing tools, and detailing techniques to create more effective solutions.”
—Doug Hellmann, Senior Developer, DreamHost
If you’re an experienced Python programmer, Python in Practice will help you improve the quality, reliability, speed, maintainability, and usability of all your Python programs.
Mark Summerfield focuses on four key themes: design patterns for coding elegance, faster processing through concurrency and compiled Python (Cython), high-level networking, and graphics. He identifies well-proven design patterns that are useful in Python, illuminates them with expert-quality code, and explains why some object-oriented design patterns are irrelevant to Python. He also explodes several counterproductive myths about Python programming—showing, for example, how Python can take full advantage of multicore hardware.
All examples, including three complete case studies, have been tested with Python 3.3 (and, where possible, Python 3.2 and 3.1) and crafted to maintain compatibility with future Python 3.x versions. All code has been tested on Linux, and most code has also been tested on OS X and Windows. All code may be downloaded at www.qtrac.eu/pipbook.html.
- Leveraging Python’s most effective creational, structural, and behavioral design patterns
- Supporting concurrency with Python’s multiprocessing, threading, and concurrent.futures modules
- Avoiding concurrency problems using thread-safe queues and futures rather than fragile locks
- Simplifying networking with high-level modules, including xmlrpclib and RPyC
- Accelerating Python code with Cython, C-based Python modules, profiling, and other techniques
- Creating modern-looking GUI applications with Tkinter
- Leveraging today’s powerful graphics hardware via the OpenGL API using pyglet and PyOpenGL
Biographie de l'auteur
Aucun appareil Kindle n'est requis. Téléchargez l'une des applis Kindle gratuites et commencez à lire les livres Kindle sur votre smartphone, tablette ou ordinateur.
Pour obtenir l'appli gratuite, saisissez votre numéro de téléphone mobile.
Détails sur le produit
Quels sont les autres articles que les clients achètent après avoir regardé cet article?
Commentaires en ligne
Meilleurs commentaires des clients
Commentaires client les plus utiles sur Amazon.com (beta)
I learned about doing things with class design patterns that I never knew were possible. Case studies illustrate the use of such design patterns in a broad variety of applications.
Later chapters on concurrent processing and the introduction of Cython introduce the reader to the world of production level programming and speed improvement. Think graphics.
For GUI applications the author introduces Tkinter for its cross platform capabilities leaving PyGTk and GObject for other works.
Best of all the book's web site offers a down-loadable archive of the code snippets stitched into executable scripts giving the reader a view of the finished product. The archive also includes some handy modules to add to your library.
Two noteworthy points:
- The code samples are based on Python 3.x
- The author's web site provides sample code download
The very first thing I noticed about this book is that the sample bits of code are very concise - without extraneous fluff.
This book is an excellent addition to any software craftsman's library that needs a quick dive into practical hands-on Python coding. Each page has a feeling of being written from the perspective of someone who has lived in the trenches producing production-quality python code for over a decade. This book has the feeling of a friendly mentor's guiding hand.
To help you understand the impression that this book left in my mind, let me share another word that arose unbidden in my mind as I made my way through the pages of this book: In Japanese, the phrase "Sensei" is often translated as "teacher", but also has a literal meaning of "One Who Has Gone Before". Mark's transmission of his depth of experience to the printed word is given in that same spirit of a Sensei teaching lessons gleaned from years of practice.
Another unexpected pleasure discovered within the pages of Mark's book: An emphasis on patterns. The first three chapters provide an excellent overview of the python-esque approach to implementing the various patterns that were described in the book Design Patterns: Elements of Reusable Object-Oriented Software.
I also found Chapter 5. Extending Python to be very interesting for focusing the discussion on Python's ctypes and Cython - techniques which are often needed to solve high performance problems.
One minor criticism is the author's choice in focusing on XML-RPC style in Chapter 6. High Level Networking [versus RESTful web service based integration strategies]
Chapter 1. Creational Design Patterns
1.1 Abstract Factory Pattern
1.2 Builder Pattern
1.3 Factory Method Pattern
1.4 Prototype Method Pattern
1.5 Singleton Pattern
Chapter 2. Structural Design Patterns
2.1 Adapter Pattern
2.2 Bridge Pattern
2.3 Composite Pattern
2.4 Decorator Pattern
2.5 Facade Pattern
2.6 Flyweight Pattern
2.7 Prox Pattern
Chapter 3. Behavioral Design Patterns
3.1 Chain of Responsibility Pattern
3.2 Command Pattern
3.3. Interpreter Pattern
3.4 Iterator Pattern
3.5 Mediator Pattern
3.6 Memento Pattern
3.7 Observer Pattern
3.8 State Pattern
3.9 Strategy Pattern
3.10 Template Method Pattern
3.11 Visitor Pattern
3.12 Case Study: An Image Package
Chapter 4. High-Level Concurrency
4.1 CPU-Bound Concurrency
4.2 I/O Bound Concurrency
4.3 Case Study: A Concurrent GUI Application
Chapter 5. Extending Python
5.1 Accessing C Libraries with ctypes
5.2 Using Cython
5.3 Case Study: An Accelerated Image Package
Chapter 6. High-Level Networking
6.1 Writing XML-RPC Applications
6.2 Writing RPyC Applications
Chapter 7. Graphical User Interfaces with Tkinter
7.1 Introduction to Tkinter
7.2 Creating Diaglogs with Tkinter
7.3 Creating Main-Window Applications with TKinter
Chapter 8. OpenGL 3D Graphics
8.1 A Perspective Scene
8.2 An Orthographic Game
Clearly this book is intended for the experienced Python developer - and I think it's entirely safe to say that, regardless of your current Python expertise, you will learn a lot from this book. Some of the topics related to concurrency (for example) answered a lot of nagging doubts that I've always had about Python and how (or even if) it can be leveraged in todays (many) multi-core systems. Mark (Summerfield) presents this topic in a way that makes total sense - and you feel like a new chapter (no pun intended) has been opened to you, in terms of advanced uses of Python. Certainly there are techniques I had never come across before - and yet - Mark presents them in such a confidence inspiring way that makes you wonder why you have not come across them before. He makes it seem like it's entirely obvious. Well... it is .. but only after you've read about them in this book!!
The exclusive use of Python 3.n threw me a curve ball. That I didn't expect - and there are no "in Python 2.n" type hints. While this first seemed like a road-block, it turns out to be something else, Python related, that I had been putting off - waiting for some magic "road sign" to appear to tell me to start writing Python 3. This book forces you to deal with this issue - and is yet another skillset stretch - that can only be of long-term benefit to any Python developer.
Bottom line: If you think you know Python - get this book and spend the time working your way through it. It's a skill set builder and worth every $0.01 of the price.
Well done Mark S. Very Highly Recommended.