/ python

Python Reading List

Since my Python Getting Started post I thought I should list my recommended reading list. I've divided this up into 'Beginner', 'Intermediate' and 'Of Interest'. The first two are pretty self-explanatory, the latter being a catch-all of info that might pique your interest, and get your Python brain ticking, while not being structured tutorials


This is how I started. If you have no coding skills, and/or no Python, just work (or drag) your way through these first texts. Don't worry if you do not understand it, just keep plugging away at the exercises.

Introduction to Python by Jessica McKellar
A video series from O'Reilly. I used this as my first concerted effort to learn Python in a structured format.

Learn Python the Hard Way by Zed Shaw
When I first looked at this, it was published in its entirety online, for free. That seems have changed, but there's a good chunk of free sample chapters still available. Zed's style is not for everyone but his 'just do it' attitude worked for me. If nothing else, this book taught me that it is okay to just copy out the exercises, real understanding will come later.

Treading on Python Volume 1: Foundations of Python by Matt Harrison
This book commits multiple sins, before you even get past the front cover. The 'Learn Python in 7 days' tag line, ignore this. Also, the front cover cannot decide what the title of the book is. Those annoyances aside, I bought this book and have repeatedly referred back to it, so it earns a place here, whatever its name really is.

DigitalOcean eBook: How To Code in Python by Lisa Tagliaferri
I worked my way through the Digital Ocean tutorials for Python and found that most of the ones I found useful were written by Lisa Tagliaferri. These have now been collected together as an eBook. Good for delving into specific topics, with lots of examples.


These are the texts I referred to once I had gone through the absolute basics and started to feel at ease with writing Python myself, rather than just copying out exercises.

Learning Python by Mark Lutz
Coming in at a monster 1648 pages, this one gives provides an in-depth look at certain aspects of Python, such as the data types. However, the large size could fool you into thinking it was a comprehensive text, it isn't. Once you're done with this, there's plenty more to learn.

The Hitchhiker's Guide to Python by Kenneth Reitz and others
This is great practical guide to writing Python, providing real-world guidance on aspects that other books omit. I found the section of project structure and docstring especially useful. Written by a prominent Python programmer, Mr Reitz, it is an O'Reilly Media book but also published on github with over 300 contributers. The latter is the link I've posted here.

Fluent Python by Luciano Ramalho
This one is at the top end of what I would call intermediate, and quite a bit more advanced than the others in this section. There's no hand-holding here, it deals with topics covered in other texts, but with a much more detailed approach. It also references other texts and online documents, such as blogs, as further reading for each chapter. Don't worry if this book makes you feel stupid. That's a natural reaction.

Of Interest

Corey Schafer - youtube channel. Lots of Python 'how to' videos and general coding information.

Python Training by Dan Bader - youtube channel. A growing number of interesting Python tricks and nuances, rather than a standard tutorial videos. Coupled with Dan's opinion and advice regarding working with Python.

Python Documentation - Sure it is a bit dry but the official Python documentation probably answers that query that's bugging you. It just does it in a really boring way.