Python Training by Dan Bader

What books should I read to move past the beginner stage in Python?

Recommendations for intermediate-level Python books that help you get past the basics so you can start working on small projects.

I want to answer a question that I got on Twitter the other day:

Someone asked for book recommendations to move past the “beginner” stage in Python – The person was looking for intermediate-level books that would help them get past the basics so they could improve their skills by working on small projects.

Let me start by saying that I really like this approach to learning a new programming language!

It’s a good idea to start working on real projects as soon as possible, even if they’re small. There’s only so much you can learn from repeated let’s implement this algorithm exercises.

These are the books I recommended:

  • Automate the Boring Stuff with Python by Al Sweigart has some great “project like” exercises. It covers common real world tasks like web scraping or filling out online forms. This really helps keep your motivation up and getting a sense of accomplishment. The book is free to read online under a Creative Commons license (but you can buy a copy to support Al).

  • Effective Python by Brett Slatkin is also a great book that will help take your Python skills to the next level. It focuses on teaching you to write more pythonic code and learning the community best practices, without running the danger of overusing some of Python’s more arcane features to the detriment of your code. It’s all about hitting that sweet spot and Brett teaches this lesson well!

  • Fluent Python by Luciano Ramalho is intended as a hands-on guide covering the features that make Python special. I like how Luciano focuses on teaching the pythonic way to do things, which helps if you’re trying to “unlearn” patterns you’ve picked up from working with other languages. (Jim Anderson emailed me to recommend this book. Thanks Jim!)

  • Python Cookbook, 3rd Ed. by David Beazley and Brian Jones is more project-based again. It’s chock-full of recipes for common tasks across various application domains like data processing or network programming. This is probably the most advanced-level book of the three, covering topics like metaprogramming. But there’s just so much information in there that I’m sure you’ll learn something useful from it even with beginner-level Python skills.

I hope that helped you out!

P.S. What are your favorite books and resources for moving from junior/entry-level Python to intermediate and beyond? I’m thinking about writing a longer article about this topic and would love to hear about your best resources and learning strategies. Leave a comment below if you’ve got a minute!

Update (2017): I wrote my own Python book for intermediate developers looking to write clean and Pythonic code. This is a bit of shameless plug, but if you like this list I’m sure you’ll love Python Tricks: The Book – A Buffet of Awesome Python Features.

<strong>5 Thoughts On<br><em>Mastering Python</em></strong>

5 Thoughts On
Mastering Python

Free 5-day class—just enter your email address below:

This article was filed under: books, career, craftsmanship, and python.

Related Articles:
  • Software engineer reading list: My favourite books about programming – Reading books is one of the best ways to improve your craftsmanship and to become a better software developer. This is a continuously updated list with my favourite programming books, sorted by topic. I link to the ebook version where possible but most books should be available made from dead trees as well.
  • When to Use Python – What is the Python programming language used for in the real world, and when is using Python the right choice?
  • In Love, War, and Open-Source: Never Give Up – I’ll never forget launching my first open-source project and sharing it publicly on Reddit…
  • A Story About Python Mastery – A couple of years ago I’d become quite interested in martial arts. Hours upon hours of watching “The Karate Kid” growing up must’ve taken their toll on me…
  • Finding Python Projects to Grow Your Programming Skills – Where to find inspiration for Python projects that will help you develop real-world coding skills and lay the foundation of your programming portfolio.
Latest Articles:
← Browse All Articles