Recommended resources for intermediate developers

In a previous article, I discussed resources that I recommend for beginners. In this post, I’ll cover a few intermediate Python books and websites.

Python 201 by Michael Driscoll

Python 201
Python 201

The first book in the list is Python 201 by Michael Driscoll. This is the book to read if you already know the basics of Python and want to go to the next level. Python 201 introduces readers to topics such as decorators, regular expressions, itertools, encryption and concurrency. This book, like it’s predecessor is written in an easy to consume manner because it has short chapters that get to the point quickly.

Dive into Python by Mark Pilgrim

Dive into Python by Mark Pilgrim is recommended for experienced programmers coming from different languages looking to pick up python. It does not cover programming fundamentals but instead it gets right down to explaining Python features and syntax. The book was originally hosted at until the author pulled down all the copies. It is now mirrored at

Python Cookbook by David Beazle, Brian K. Jones

The Python Cookbook by is a book for experienced Python programmers that contains complete recipes and idioms for common tasks. I haven’t read this book myself but friends of mine who have highly recommend it.

Test-Driven Development with Python by Harry J. W. Percival

This book is targeted at Django developers and it demonstrates the advantages of Test Driven Development. Harry walks you through the steps necessary to create, build and test a Django site. The book teaches unit testing, Javascript, Selenium for writing functional tests, mocking and git-based deployment.

The Hitchhiker’s Guide to Python
by Kenneth Reitz, Tanya Schlusser

This is an informative book about the Python ecosystem and contains best practices around writing, reading and shipping great Python code. The book is based on the original guide at . I highly recommend this resource.

Other Resources

The Python Docs

The Python Docs are the source of all truth in Python. The Documentation contains two parts, a language tutorial and the language reference. The tutorial is good for getting up to speed with the language but it doesn’t cover everything you need to know to be proficient. The language reference is not really a learning resource but it can be very useful when you need to look up how a particular module or function in the Standard Library works.

Talk Python Podcast by Michael Kennedy

This is a podcast that covers a wide range of topics relating to Python and it is hosted at
Michael’s podcast features interviews with Python industry experts and is a great place to get news from the Python community.

New Coder by Lynn Root

Most beginner resources focus on teaching Python syntax and not how to build practical projects. is Lynn’s attempt to teach real world programming through a set of tutorials that will leave learners feeling accomplished. Some of the tutorials include :

  • Data Visualisation
  • APIs
  • Web Scraping
  • Networks and
  • GUIs