- Series: Expert's Voice in Open Source
- Paperback: 368 pages
- Publisher: Apress; 1st ed. edition (June 15, 2010)
- Language: English
- ISBN-10: 1430227575
- ISBN-13: 978-1430227571
- Product Dimensions: 7.5 x 0.8 x 9.2 inches
- Shipping Weight: 1.4 pounds (View shipping rates and policies)
- Average Customer Review: 7 customer reviews
- Amazon Best Sellers Rank: #2,372,095 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Pro Python (Expert's Voice in Open Source) 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Customers who viewed this item also viewed
Customers who bought this item also bought
About the Author
By day, Marty Alchin works as a senior software engineer at Heroku, and after that, he writes and codes for fun and community. His blog can be found at http://martyalchin.com/ and he has profiles on many other services under the name Gulopine. In particular, his code can be found on GitHub and his random thoughts are on Twitter. He also accepts tips for his open source work at https://gittip.com/gulopine.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
There are lots of confusing sentences in the book!
As far as the content, it's pretty solid, although not quite as good as the author's "Pro Django" book (which is excellent). The information on metaclasses and the like is pretty thick reading -- and, that's fair, as it all can get pretty weird; googling up David Mertz's writings on metaclasses and the like will help give an alternative take on some of the more esoteric bits.
Examples are primarily Python3, although always accompanied by Python2 alternatives.
All told, I'd be inclined to put the book around 3.5 stars, but the Kindle missteps (I've tried reading on an android phone, the Windows reader, and a Kindle 3 -- all of which have different quirks, and none display everything quite properly) are sufficiently frustrating, and limit the readability/navigability of the book severely enough, that I'm knocking it back to a two.
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.
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.
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.