Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player


Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $7.75 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Pro Python (Expert's Voice in Open Source) on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Pro Python (Expert's Voice in Open Source) [Paperback]

by Marty Alchin
3.0 out of 5 stars  See all reviews (5 customer reviews)

List Price: $49.99
Price: $27.67 & FREE Shipping on orders over $35. Details
You Save: $22.32 (45%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 4 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Want it Monday, April 28? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Kindle Edition $22.99  
Paperback $27.67  
Sell Us Your Books
Get up to 80% back when you sell us your books, even if you didn't buy them at Amazon. Learn more

Book Description

June 14, 2010 1430227575 978-1430227571 1

You’ve learned the basics of Python, but how do you take your skills to the next stage? Even if you know enough to be productive, there are a number of features that can take you to the next level in Python. Pro Python explores concepts and features normally left to experimentation, allowing you to be even more productive and creative.

In addition to pure code concerns, Pro Python will develop your programming techniques and approaches, which will help make you a better Python programmer. Not only will this book help your code, it will also help you understand and interact with the many established Python communities, or even start your own.

  • Take your Python knowledge and coding skills to the next level.
  • Write clean, innovative code that will be respected among your peers.
  • Make your code do more with introspection and metaprogramming.
  • Design complete frameworks and libraries (two are included in the book!).

For more information, including a link to the source code referenced in the book, please visit

What you’ll learn

  • Write strong Python code that will be respected in the Python community.
  • Understand the reasons behind big design decisions in Python.
  • Write programs that can reconfigure themselves in Python.
  • Disguise your code as different types of objects in Python.
  • Inspect just about any object in Python.
  • Prepare your code for international audiences.
  • Ensure code quality with rigorous testing.

Who this book is for

This book is for intermediate to advanced Python programmers who are looking to understand how and why Python works the way it does and how they can take their code to the next level.

Table of Contents

  1. Principles and Philosophy 
  2. Advanced Basics  
  3. Functions
  4. Classes  
  5. Common Protocols 
  6. Object Management 
  7. Strings 
  8. Documentation 
  9. Testing 
  10. Distribution 
  11. Sheets: A CSV Framework

Frequently Bought Together

Pro Python (Expert's Voice in Open Source) + Expert Python Programming: Best practices for designing, coding, and distributing your Python software
Price for both: $68.16

Buy the selected items together

Editorial Reviews

About the Author

Marty Alchin is a seasoned web developer, with prior work ranging from static content to highly dynamic web frameworks. Experience in several languages, both server-side and client-side, has led Marty to a willingness to work in any environment. He is primarily interested in server-side work using Python, preferably with the Django web framework.

Product Details

  • Series: Expert's Voice in Open Source
  • Paperback: 368 pages
  • Publisher: Apress; 1 edition (June 14, 2010)
  • Language: English
  • ISBN-10: 1430227575
  • ISBN-13: 978-1430227571
  • Product Dimensions: 9 x 7.5 x 0.9 inches
  • Shipping Weight: 1.4 pounds (View shipping rates and policies)
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Best Sellers Rank: #952,089 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
26 of 29 people found the following review helpful
1.0 out of 5 stars Disappointment January 15, 2011
This book was a real disappointment.

I wouldn't have minded the preachy-ness of Chapter 1 if the rest of the original-material Chapters dealt with topics that concerned using Python in a professional context. Those chapters covered a random set of disjoint topics, and each topic was lacking in both motivation for the topic and, most important to a professional programmer, the basis for the Python behavior associated with the topic and the way to control the behavior.

The book was light. Here's an example of the lightness of this book's coverage: Generators, Lambdas, and Introspection were 'completely' covered in 5 pages. Here's an example of a topic not relevant to the professional programmer: Function Annotations were covered in so far as they could be used to extend type safety in Python. Hard to imagine selecting Python to build an app if you also thought Python wouldn't be reliable without also building a framework to enhance the language's builtin runtime type system.

The book finishes with 36 pages of cut-and-pasted PEP text. Why Python Enhancement Proposals authored by others was included in this $50 over-priced book baffles me.

Was this review helpful to you?
17 of 21 people found the following review helpful
5.0 out of 5 stars Great Book July 21, 2010
Pro Python, by Marty Allchin, is another book that tries to bring beginner and intermediate Python programmers up to the next level. This book is targeted towards people with a bit of familiarity with OOP in Python and basic control structures, but beyond that no more knowledge is really necessary. Allchin goes on to introduce a wide range of topics to the reader such as decorators, list comprehensions, generators, and annotations. This is only a brief look at what is covered in the first chunk of the book. Allchin also focuses some chapters on software distribution, testing, and documentation, and ends the book with a chapter focused on designing your own framework for parsing CSV files. He also focuses chapters on working with Strings and object management, as well as a basic chapter on functions and classes that will introduce more advanced concepts in these two areas.

One of my favorite aspects of this book is the first chapter "Principles and Philosophy" which focuses on the Pythonic way of writing code and managing a project. He covers about 20-25 concepts that will make you a better Python programmer. In addition, throughout the book Allchin always makes sure to mention when he is teaching something that has a syntactic difference between Python2 and Python3.

I would definitely recommend this book to anyone with previous Python experience that want's to step up to the next level. I also believe that this would be a great book for a person with programming experience in another language who wants to rapidly pick up Python. You might need to read a few resources online while working through the book, but overall, Allchin does such a great job of explaining the concepts he covers that it makes this book a great resource for any developer.
Comment | 
Was this review helpful to you?
1 of 1 people found the following review helpful
3.0 out of 5 stars Disjoint topics don't mean anything bad. February 25, 2013
By Anon
As a guy coming from introductory books like "Dive into Python", this book stopped me from doing the mistakes one can easily make after learning the absolute basics. It taught me about PEP8, unittests and "The Zen of Python" in a terse and intriguing way.

The lightness of the content mentioned by other users didn't bother me. After all, the book is presented as an *introduction* to advanced Python programming -- the author still assumes you can look up stuff in a search engine, which you'll have to do anyway if you want to keep up-to-date. If you still want to learn everything from a book, you might reconsider buying this one -- but then you also might reconsider writing software.

I still wished this one would've contained more practical examples. A tutorial on the end of the book that uses the knowledge gathered in the previous chapters would've been nice.

TL; DR: If you've just finished an introduction like "Dive into Python" or "Learn Python the hard way", you will enjoy this book.
Comment | 
Was this review helpful to you?
4.0 out of 5 stars Not current with Python 2.7 October 10, 2013
Format:Kindle Edition
Just getting into the book and so far it's pretty good. I didn't mind the "preachiness". It summarized some solid programming practices that are embraced by the Python community and so is worth reading.

But be aware that the book's focus is on Python 3, and more importantly, while I eventually discovered that it starts to mention features that were back ported to 2.7 from 3, what's odd is that it mentions a number features early on that it says are only in Python 3 as if it had been written prior to the release of 2.7 since it never mentions that those are also in 2.7.
And since I wasn't familiar with some of those features I had to check whether they were available in 2.7.

So it's probably best to read the book with two Python shells open at once - one for Python 3.x and one for Python 2.7, and if you are uncertain as to whether a given example will work in Python 2.7 or only in Python 3.x then try it in 2.7 and see. Of course, one could argue that this actually reinforces the learning experience so maybe it's not such a bad thing.

The only example that I can recall encountering so far of a Python 3.x feature that isn't available in 2.7 is unpacking like this:

>>> l = ['a', 'b', 'c', 'd']
>>> a1, a2, *rest = l

I was just trying to figure out if this was possible in Python 2.7 the other day since I'd seen a very similar syntax in Clojure but alas it is not in 2.7.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
Search Customer Reviews
Only search this product's reviews


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category