Jump To Pricing

There are PLENTY of books written for programming in Python today. The only problem: almost all are written for those new to programming, new to Python, or both.

That does you no good. How do you find something worth reading if you already know the basics backwards and forwards? Where do you find a book that will really challenge and expand your skill as a developer using Python?

Let me introduce myself. I'm Aaron Maxwell, a software engineer and author. In the past decade, writing Python code for Silicon Valley companies alongside some truly outstanding engineers, I've realized the same thing you have: there is a sprawling wealth of resources available for learning "hello world" in Python... but very little support for those of us who have already gone beyond that, who are professionals seeking to really elevate our mastery of the language, and our craft.

There is now a book bridging that massive gap: Powerful Python: The Most Impactful Patterns, Features, And Development Strategies Modern Python Provides. What you'll find inside:

Includes the Next Edition, FOR FREE

On top of this, you get lifetime free access to all future digital editions and updates. Planned additions and extensions for the future include:

These are made available to you as frequently as they are finished, before the official release of the next edition. The priority of each new chapter and topic, and the final list of what will even make it into the book, depends on feedback from existing readers like you.

Zero Risk "Money-Back" Guarantee

It's important to me that you are not just completely satisfied, but absolutely delighted with the value you receive from reading "Powerful Python". This is why I have invested nearly two years (so far!) writing, re-writing, re-re-writing, getting feedback from working developers, and then - based on their tough but honest feedback - tearing out whole chapters and starting from scratch. Honestly, it feels like I've written three books, not just one.

But none of that matters. The only thing that matters is that you are more than happy with the result... that you feel your hard-earned money - and even more valuable time - are well invested.

While I can't give you back your time, I can and will happily refund a full 100% of your purchase price if you are not completely satisfied, delighted, and supremely happy with the value you've gained. Take all the time you need over 45 days to read and study the book, and put it into practice. If it didn't live up to this standard for you, simply contact customer service within this period to get your immediate, no-hassle refund. You can even keep the current edition of the book for your trouble.

Get It Now

Powerful Python eBook


Instant digital access.
Free upgrade to next edition.
Early access to new chapters.
And a zero-risk guarantee.

Team licenses

Questions and Answers

What version(s) of Python does this book support?

The goal of this book is to help you excel with Python - both for the present, and for the foreseeable future. Interestingly, the structure of quality Python software, and the patterns and strategies that work exceptionally well in the real world, are surprisingly independent of the version.

Most of the many code examples in the book are targeted to Python 3; nearly all will work with Python 3.4, 3.5 or 3.6. And since many people are still using Python 2.7, and will be for a while, the book calls out the differences as we go along - sometimes in footnotes, sometimes in whole supplementary sections.

But I just use Python 2!

You're covered. The vast majority of what you learn can be immediately and clearly applied to your Python 2 code. Where differences exist, it often boils down to superficial syntax changes, which are clearly explained right away.

(And remember, you are also completely protected by the money-back guarantee.)

How long is the book?

Currently 170 pages. My goal is that the final version be no more than 250 pages.

(This is shorter than some Python books. That's a deliberate feature, not a bug: you already have too much to read. The emphasis is on selective quality, not raw page count.)

What's the book's format, exactly?
It is given to you as a regular PDF file. To make it easiest on you, the reader, it has no DRM or password protection. Files are watermarked with your email address.

Full Book Contents

1 Doing More with Python
1.1 Python Versions
1.2 Python Application Environments
1.3 Python Package Management

2 Iterators and Generators
2.1 Iteration in Python
2.2 Beyond Simple Containers
2.3 Generator Functions
2.4 Python is Filled With Iterators
2.5 Python’s Iterator Protocol

3 Creating Collections with Comprehensions
3.1 List Comprehensions
3.2 Generator Expressions
3.3 Dictionaries, Sets, and Tuples
3.4 Limitations of Comprehensions

4 Advanced Functions
4.1 Accepting and Passing Variable Arguments
4.2 Functions As Objects
4.3 Key Functions in Python

5 Decorators
5.1 The Basic Function Decorator
5.2 Encapsulating Data In Decorators
5.3 Decorators For Classes
5.4 Decorators That Take Arguments
5.5 Class-based Decorators
5.6 Preserving the Wrapped Function

6 Classes and Objects: Beyond The Basics
6.1 Properties
6.2 The Factory Pattern
6.3 The Observer Pattern
6.4 Magic Methods

7 Automated Testing and TDD
7.1 What is Test-Driven Development?
7.2 Unit Tests And Simple Assertions
7.3 Fixtures And Common Test Setup
7.4 Asserting Exceptions
7.5 Using Subtests
7.6 Final thoughts

8 Python String Formatting
8.1 Replacing Fields

9 Logging in Python
9.1 The Basic Interface
9.2 Configuring The Basic Interface
9.3 Passing Arguments
9.4 Beyond Basic: Loggers
9.5 Log Destinations: Handlers and Streams
9.6 Logging to Multiple Destinations
9.7 Record Layout with Formatters

10 Closing Thoughts, and What’s Next