Dan Bader

To Every Ambitious Python Developer Who’s Ever Caught Him or Herself Thinking:

“I don’t even feel like I’ve scratched the surface of what I can do with Python.”

Here’s How to Get Your Learning Progress Unstuck,
Discover “Hidden Gold” in Python’s Standard Library,
Get One Step Closer to Mastering Python,
And Start Writing Clean and Pythonic Code:

There’s a talented Python web developer I know of—I’ll call him “Mark”.

Mark’s a self-taught programmer and fledgling Pythonista, and he’s working hard to grow his skills. He’s grateful for his coding job and came to Python from far lands of Java and .NET.

Thanks to the internet and Stack Overflow he made amazing progress ramping up his Python skills early on.

But lately Mark has gotten himself stuck in a “Valley of Despair”—where learning progress is… slow… as… molasses…

It didn’t look like it in the beginning, but picking up the basics of Python was the easy part. What was a quick learning curve initially has completely petered out as of late.

Now of course, Mark still enjoys working with Python—it’s a beautiful programming language, after all. (One of my coworkers used to call it The Language of the Gods.)

But it’s tough feeling confident using Python when it seems like he’s forever stuck at a basic level of proficiency.

I mean, it’s fairly easy for him to come up with working solutions to most problems he faces with Python—

But there’s no roadmap for Mark to take his Python skills to the next level…

He doesn’t know what Python features and “hidden gems” are available that might be useful.

And that makes it so challenging—learning how to integrate all the pieces of the puzzle:

“I’ve been coding in Python full-time for a year and still don’t feel like I have any idea what I’m doing.”

A mindset of constant improvement and wanting to master the art of programming is really what drives Mark.

Yet, reading the technical documentation for everything would take up too much work during his day job…with his boss breathing down his neck.

Also, technical docs rarely seem to include the clear use cases and examples he so desperately wants.

Mark has discovered a few lesser-known features in Python that boosted his productivity, but again hunting those tricks down on forums and Stack Overflow sucks up too much of his productive time.

There’s not enough curation.

And now Mark’s dream of mastering Python is slowly withering away…

I totally identify with Mark, because a few years ago, that was me.


My name is Dan Bader. I’ve been writing code for more than 15 years.

Mastering Python has been (and still is) a huge motivation for me in my career as a software developer.

I’m sharing Mark’s story with you because I’ve experienced similar struggles trying to grow my own Python skills.

I’ve dedicated the last several months of my professional life helping other Python developers overcome those struggles.

Not too long ago I discovered a fun & effective technique to teach developers the best practices and skills for writing clean and beautiful Python,
in bite-sized chunks.

I called this technique Python Tricks.

“Python Tricks” started out as a short series of Python code screenshots that I shared on Twitter for a week —

To my surprise, they got a raving response and were shared and retweeted for days on end. Python developers around the world loved them.

This is a Python Trick:

Python Trick: A short Python code snippet meant as a teaching tool. A Python Trick either teaches an aspect of Python with a simple illustration, or serves as a motivating example to dig deeper and develop an intuitive understanding.

These short-and-sweet code examples seemed worth exploring as a teaching tool…

Over the next days and weeks, a steady stream of Python developers reached out to me. They thanked me for making an aspect of Python they were struggling to understand click for them.

They found immense value in these “Python Tricks”, and told me how they helped get their learning progress unstuck and brought them back on the path to Python mastery.

Hearing this feedback felt awesome. These Python Tricks were “just code screenshots”, I thought.

But so many Python developers loved them—

So simple, yet so valuable.

As more and more developers signed up to receive my Python Tricks emails, I started noticing a pattern in the replies and questions I got:

Some Python Tricks worked great as motivating examples by themselves—but for the more complex ones there was no narrator to guide readers, no one to give them additional resources to develop a deeper understanding.

I realized that sometimes “just a code screenshot” isn’t enough to explain a cool Python feature.

These early Python Tricks we’re valuable, but also ultimately flawed.

Now Python Tricks is back with with a vengeance —

I took the best and most popular Python Tricks (+ brand new ones!) from the original series and started writing a new kind of Python book around them:

Python Tricks: The Book
A Buffet of Awesome Python Features

Discover Python’s Best Practices with Simple Examples and Start Writing Beautiful & Pythonic Code


Who Should Read This Book:

  • If you’re wondering which lesser known parts in Python you should know about, you’ll get a roadmap with this book. Discover some cool (yet practical!) Python tricks and get ready to blow your coworkers’ minds in your next code review.
  • If you’ve got experience with legacy versions of Python, the book will get you up to speed with modern patterns and features introduced in Python 3 and backported to Python 2.7. It’ll be a fun way to take advantage of recent improvements in the language, one bite at a time.
  • If you want to make Python your own and learn how to write clean and Pythonic code, you’ll discover best practices and little-known tricks to round out your knowledge in the book. Get one step closer to Python mastery and fill up your toolbox. How awesome will it feel to look back at all the beautiful and well-engineered code you’re going to write?

Who Should Not Read This Book:

  • Python Tricks: The Book is not a step-by-step Python tutorial. It is not an entry-level Python course. If you’re in the earliest stages of learning Python, this book alone won’t be able to turn you into a professional Python developer. Reading the book will still be beneficial to you, but you need to make sure you’re working with some other resources to build up your foundational Python skills.

Python Tricks: The Book
A Buffet of Awesome Python Features

Eventually $29, Today Just $19

Python Tricks: The Book

Purchase Includes:

  • DRM-free PDF ebook, optimized for reading on tablets and computers
  • DRM-free ePub ebook, optimized for reading on tablets and ebook readers
  • DRM-free Kindle ebook
  • Free updates + new chapters, including the final version of the book

LIMITED TIME OFFER: This is a Work-In-Progress Book

By purchasing this book you’ll immediately receive a current snapshot of the book with the chapters finished to date. As I add more chapters you’ll receive updates and new versions of the book for free. Get in now, before the price goes up (hint, hint).

Python Tricks: The Book

$29 $19

Add To Cart

What Pythonistas Are Saying:

“I do get something out of every chapter”

“I first heard about your book from a co-worker who wanted to trick me with your example of how dictionaries are built. I was almost 100% sure about the reason why the end product was a much smaller/simpler dictionary but I must confess that I did not expect the outcome :)

He showed me the book via video conferencing and I sort of skimmed through it as he flipped the pages for me, and I was immediately curious to read more.

That same afternoon I purchased my own copy and proceeded to read your explanation for the way dictionaries are created in Python and later that day, as I met a different co-worker for coffee, I used the same trick on him :)

He then sprung a different question on the same principle, and because of the way you explained things in your book, I was able to **not** guess the result but correctly answer what the outcome would be.

That means that you did a great job at explaining things :)

I am not new in Python and some of the concepts in some of the chapters are not new to me, but I must say that I do get something out of every chapter so far, so kudos for writing a very nice book and for doing a fantastic job at explaining concepts behind the tricks!

I’m very much looking forward to the updates and I will certainly let my friends and co-workers know about your book.”

Og Maciel Python Developer at Red Hat

“This book makes you write better Python code!”

“I really enjoyed reading Dan’s book. He explains important Python aspects with clear examples (using two twin cats to explain “is” vs “==” for example).

It is not just code samples, it discusses relevant implementation details comprehensibly.

What really matters though is that this book makes you write better Python code!

The book is actually responsible for recent new good py habits I picked up, for example: using custom exceptions and ABC’s (I found Dan’s blog searching for abstract classes).

These new learnings alone are worth the price.

Bob Belderbos Software Developer at Oracle & Co-Founder of PyBites

“It’s like having a seasoned tutor explaining, well, tricks!”

“I love love love the book so far. It’s like having a seasoned tutor explaining, well, tricks!

I’m learning python on the job and I’m coming from powershell, which I learned on the job - so lots of new, great stuff. Whenever I get stuck in python (usually with flask blueprints or I feel like my code could be more pythonic) I post questions in our internal Python chat room.

I’m often amazed at some of the answers coworkers give me. Dict comprehensions, lambdas, and generators often pepper their feedback.

I am always impressed and yet flabbergasted at how powerful python is when you know these tricks and can implement them correctly.

Your book was exactly what I wanted to help get me from a bewildered powershell scripter to someone who knows how and when to use these pythonic ‘tricks’ everyone has been talking about.

As someone who doesn’t have my degree in CS it’s nice to have the text to explain things that others might have learned when they were classically educated.

I am really enjoying the book and am subscribed to the email as well, which is how I found out about the book.”

Daniel Meyer Sr. Desktop Administrator at Tesla Inc.

“I enjoyed reading it and learned some really useful tricks from it”

“Thanks a lot for the book.

It is easy to read, informative, helpful, casual, and written with good sense of humour. In brief, I enjoyed reading it and learned some really useful tricks from it.

Looking forward to updates on the book! :)”

Sergii Shcherbak Lawyer & Django Developer

“I absolutely love it”

“I’ve only started pythoning like for a year now. Just when I thought I’ve got all the basics right, this book just blew my mind.

It’s amazing how in the 40 pages I’ve covered so far, I’ve learnt so much more of these concepts. So thank you for this great book. I absolutely love it.”

Rijo Alex Pythonista

“Makes me re-think some of the assumptions I have about Python”

I’ve been developing in Python for quite a few years now, and I’m discovering lots of interesting and useful information in your book.

I love idioms, particularly in Python with it’s “one obvious way to do something” approach to programming.

Your in depth look at how things work is great because it makes me re-think some of the assumptions I have about Python, and either take precautions or advantage of what I just learned.”

Doug Farrell Senior Web Engineer at Shutterfly

Experience (At Least) One “Python Epiphany”

The last thing I want is for you to pass on this book because you’re not sure it’ll help you on your Python journey. I’m 100% confident it will so here’s my offer to you:

Put me to the test. Take Python Tricks: The Book for a spin today.

Spend just an hour with the book today while I help you develop a deeper understanding of some important Python concepts.

Then take up to a full year to apply your newfound knowledge.

And if for some reason you don’t agree that I’ve given you at least one “Python epiphany” by reading this book, I will cheerfully refund your money in full. No questions, no hassles, any time within the next year.

All the risk is on me.

— Dan Bader


Got any sample chapters? Sure do! Click here to download a PDF sample chapter (or get the ePub and Kindle samples). Enjoy 😊

Is this just a bunch of code screenshots? Nope, this adds a whole new dimension to the Python Tricks emails. I felt like what was missing from the screenshot-based Tricks was some kind of narrator that could explain what’s going on and point out additional learning resources. Check out the sample chapter if you’re curious what it looks like.

What’s a “work-in-progress book”? You’re getting early access to the book at a discount. By purchasing this book you’ll immediately receive a current snapshot of the book with the chapters finished to date. Think of it like a pre-order, but better—because you get access to the book immediately. As I finish more chapters you’ll receive updates and new versions of the book for free on a continuing basis. Also, the price for the book will go up as it gets closer to completion (hint, hint 😃).

How will I be notified if you add more content to the book? Whenever a new update for the book comes out you’ll get a notification email from Gumroad (my payment provider where you bought the book). This email includes a download link for the updated PDF and ePub files.

How much content is in the book right now? As of April 2017 there are 174 pages in the PDF version of the book.

What if I don’t like the book? I want happy customers only. If you’re not happy with the book, send me an email and tell me where it left you hanging. I’ll refund you in full—even 12 months later.

I have another question! Please email me at mail@dbader.org and I’ll get back to you as soon as possible.

Python Tricks: The Book

$29 $19

Add To Cart