There are many books for those new to Python, new to programming,
or both. Powerful Python is different. Written for experienced
developers like you, its carefully crafted chapters teach intermediate
and advanced strategies, patterns, and tools for modern
Python. Focused on Python 3, with full support for 2.7.
DRM-free digital upgrade: powerfulpython.com/book-upgrade
"Feels like Neo learning Jiu jitsu in the Matrix." - John Beauford (@johnbeauford)
"I just wanted to let you know what an excellent book this is... I
keep going back to your book to learn Python." - Fahad Qazi, London, UK
"Thanks. Keep up the good work. Your chapter on decorators is the
best I have seen on that topic." - Leon Tietz, Minnesota, USA
"Powerful Python is already helping me get huge optimization
gains." - Timothy Dobbins (@TmthyDobbins)
"What have I found good and valuable about the book so far?
Everything honestly. The clear explanations, solid code examples have
really helped me advance as a Python coder... Thank you! It has really
helped me grasp some advanced concepts that I felt were beyond my
abilities." - Nick S., Colorado, USA
For data scientists, back-end engineers, web developers, sysadmins,
devops, QA testers and more. What's included:
- An unrelenting selective spotlight on what's
most valuable and impactful to working, full-time, professional
Python developers - Well-researched, detailed, realistic code on
almost every page, powerfully illustrating key points. Very
little "toy code" - How to use decorators to add rich
features to functions and classes;
untangle distinct, frustratingly intertwined
concerns in your code; and build powerful, extensible
software frameworks - How to use Python in ways that incentivize
other developers to use and re-use your code, again and
again... amplifying the impact of the code you
write, and boosting your reputation
among your peers - Powerfully and easily weave iterators and generators
throughout your applications, making them massively
scalable, highly performant, and far more readable and
maintainable - How to fully leverage Python's exception and
error model... giving you a detailed understanding even
experienced Pythonistas often lack, and putting some of the most
powerfully Pythonic exception-handling patterns
in your toolbox - How "magic methods" imbue natural, readable,
expressive syntax into your classes and objects... and
how to "break the rules" to craft stunningly
intuitive, compellingly reusable library interfaces - Valuable and powerful design patterns, and
how Python's special language features give you uniquely
powerful implementations not possible in other languages - Deep and detailed instruction on how to write
practical, realistic unit tests... using
test-driven development to easily get into a state of
flow... where you find yourself implementing feature
after feature, keeping your focus with ease for long periods of
time - How to rapidly set up effective logging for
scripts, sprawling Python applications, and everything in between - An enthusiastic and unapologetic focus on Python
3, and what makes it great... with full explanation
and support for getting the same results with Python 2.7
More at PowerfulPython.com.
Reviews (22)
Too basic while claiming the opposite
TL;DR You probably know 99% of things covered in this book if you did back-end Python for more than 2 years. What I expected to find: python-specific design patterns, performance optimization tips, complex flows and DB/concurrency tips. That’s what experienced Python developers usually struggle with and definitely will use some help/tips/guides. Instead this book starts and ends with rudimentary “trainee -> junior” language-specific features documentation. Like using generators/decorators/logging and writing basic tests. Not that this book is bad, I did found a couple of minor things I have not used previously, but it definitely not lives up to “patterns & development strategies” mentioned in the title.
Just what I needed
I think it was pretty excellent. Very much applicable to where I'm at with Python today and taking my coding to the next level. I got a ton of insight with this book. It really brought to light how magic methods can be used to develop things like Pandas. It opened my eyes to how awesome decorators can be! The classes section, logging, and testing were awesome. I need to go back over the book again and work thru some of the techniques that are talked about so I can get used to using them every day. I currently do a lot of implementation work with data and SQL Server. Anything outside of SQL that I do, I do in Python. A problem for me has been that I get so many odd type jobs that my code is pretty spread out across a broad range of functionality. I've been wanting to stream line it, and write my code in a way that it can scale up. At my job, I'm writing, testing, implementing, and maintaining my own Python code. I don't get code reviews, and so it's hard to know if I'm writing good code or not cause I'm not getting that critique from my betters. I think you have definitely given me some broad ideas on being able to scale, and some things that I should strive for in my code.
This book taught me a great deal and was enjoyable to read
I have been developing with Python for 5-6 years and considered myself well versed in the language. This book taught me a great deal and was enjoyable to read. The complex patterns are explained well with enough detail to understand but not too much to confuse the reader. After having the book for one day I recommended it to my team and will make it required reading for our interns and junior devs. Note: I purchased this book and did not receive anything for this review.
This is among the best books available for taking your python skills to the next level.
I have read many books on python programming in a quest to find intermediate level instruction. I feel there are very few books which offer the sort of insights needed to really improve skills. This is one of the few I can highly recommend for those who are struggling to achieve intermediate skill in python. The author clearly has a mastery of the topic and has an ability to convey it in and understandable way.
Great book
By far one of the best books out there. No nonsense, just great information.
Unique content
Great coverage not offered in other books.
Amazing work!
I wish all technical books could be this good. As an instructor and researcher, I read dozens a year and this is pure platinum. Thanks, Aaron!
Truly next-level Python
Concise to the point and practical. Will take your python to the next level.
Great Python book
One of my favorite Python books that show great examples on using the language effectively
Good book
Excellent work
Too basic while claiming the opposite
TL;DR You probably know 99% of things covered in this book if you did back-end Python for more than 2 years. What I expected to find: python-specific design patterns, performance optimization tips, complex flows and DB/concurrency tips. That’s what experienced Python developers usually struggle with and definitely will use some help/tips/guides. Instead this book starts and ends with rudimentary “trainee -> junior” language-specific features documentation. Like using generators/decorators/logging and writing basic tests. Not that this book is bad, I did found a couple of minor things I have not used previously, but it definitely not lives up to “patterns & development strategies” mentioned in the title.
Just what I needed
I think it was pretty excellent. Very much applicable to where I'm at with Python today and taking my coding to the next level. I got a ton of insight with this book. It really brought to light how magic methods can be used to develop things like Pandas. It opened my eyes to how awesome decorators can be! The classes section, logging, and testing were awesome. I need to go back over the book again and work thru some of the techniques that are talked about so I can get used to using them every day. I currently do a lot of implementation work with data and SQL Server. Anything outside of SQL that I do, I do in Python. A problem for me has been that I get so many odd type jobs that my code is pretty spread out across a broad range of functionality. I've been wanting to stream line it, and write my code in a way that it can scale up. At my job, I'm writing, testing, implementing, and maintaining my own Python code. I don't get code reviews, and so it's hard to know if I'm writing good code or not cause I'm not getting that critique from my betters. I think you have definitely given me some broad ideas on being able to scale, and some things that I should strive for in my code.
This book taught me a great deal and was enjoyable to read
I have been developing with Python for 5-6 years and considered myself well versed in the language. This book taught me a great deal and was enjoyable to read. The complex patterns are explained well with enough detail to understand but not too much to confuse the reader. After having the book for one day I recommended it to my team and will make it required reading for our interns and junior devs. Note: I purchased this book and did not receive anything for this review.
This is among the best books available for taking your python skills to the next level.
I have read many books on python programming in a quest to find intermediate level instruction. I feel there are very few books which offer the sort of insights needed to really improve skills. This is one of the few I can highly recommend for those who are struggling to achieve intermediate skill in python. The author clearly has a mastery of the topic and has an ability to convey it in and understandable way.
Great book
By far one of the best books out there. No nonsense, just great information.
Unique content
Great coverage not offered in other books.
Amazing work!
I wish all technical books could be this good. As an instructor and researcher, I read dozens a year and this is pure platinum. Thanks, Aaron!
Truly next-level Python
Concise to the point and practical. Will take your python to the next level.
Great Python book
One of my favorite Python books that show great examples on using the language effectively
Good book
Excellent work
Very good book
A very useful book
Beyond a beginner
Great book. A lot of great tips for those beyond a beginner.