» » Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns (Developer's Library)

Download Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns (Developer's Library) epub

by Mark Summerfield

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

Coverage includes

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
Download Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns (Developer's Library) epub
ISBN: 0321905636
ISBN13: 978-0321905635
Category: Technology
Subcategory: Programming Languages
Author: Mark Summerfield
Language: English
Publisher: Addison-Wesley Professional; 1 edition (August 29, 2013)
Pages: 336 pages
ePUB size: 1880 kb
FB2 size: 1496 kb
Rating: 4.2
Votes: 552
Other Formats: lit docx mbr rtf

Useful info, well written. One of the best books I've seen about Python 3. It goes beyond the language itself, covering several useful libraries and mentions the possibility of extending Python with C routines that support python calls. Also, it's possible to embed a Python interpreter in a C or C++ program, to give it script executing features. Makes clear that there is always more to learn about Python and the libraries available for it.
really great bridge from beginner to advanced coding. introduces parallel and multi processing, data structures, and different approaches to problems.
Just a word that familiarity with python, and perhaps a love of it, are a must. This is an interesting work, but you have to quite actively using the language presently and-or have a solid ongoing relationship with it to get much out of the book. That said, if you do, it's excellent, and full of good example syntax and hands-on patterns.
Anything less than a 5-star review does this work, and it's author, an injustice, IMHO. It's awesome.

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.
The importance of the topics presented in this book exceed the immediate practicality of design patterns. It really shows a different approach in generic software development. How can one write programs with maximum reusability and extensibility.
One of the best recent books for python developers.
Clearly intended for experienced coders, Python in Practice is an extensive treatise on python classes. In this work the author works exclusively in Python3.x without the familiar side notes of Python2.x work-arounds. Being a relative novice to programming in Python and new to Python3 in particular, the first few chapters sent me back to the manuals and other resources to fill in the blanks. The author recommends his book Programming in Python 3 as prerequisite reading.

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.