The ecosystem of Python is large and often complex, so it is common to get overwhelmed and confused with where to start your journey to Python. There are a number of really awesome Github repos (Awesome Python being a great starting point), but where do you go when you just need a focused start to it all?

There are three books that I’d recommend (two of which are free, yes “free” as in candy) that you should have a look at. There are a few more I’ll add later that you will want to pick up along the way when you can.

three python books

  1. Think Python 2e by Allen Downey
    • a fantastic introduction to the language and the paradigm of Python,
    • there are a lot of introductory computing concepts in the book,
    • start here if you’re wanting a solid introduction to Python.

  2. Fluent Python by Luciano Ramalho
    • while published in 2016, the book still holds its own as an introductory resource to the language,
    • widespread coverage (in just over 750pp!) of the language ins and outs, style and programming tips,
    • this book stays on the bookshelf as a real reference to the language that you can thumb through when the Internet is down during a storm.

  3. The Hitchhikers Guide to Python by Kenneth Reitz and Tanya Schlusser
    • slightly more advanced, but still addresses a number of necessary concepts for the beginner,
    • the discussions about Python2 and Python3 are interesting historically, but you will need to leave Python2 behind, like most of the community is,
    • the tooling and virtualenv sections are very informative for understanding the Python operating environment, and I would also highly recommend looking at the section on testing.

There are many, many resources out there for you to consume, but these are three that I’ve found reaching for time and time again to review my foundational knowledge of Python and point others to on their own journey to the language.