Recommending books is always opinionated, still I try to list here a few books which will be beneficial to learners of all levels of experience. I tried to pick three beginner and three advanced Python books.

Let’s start with the Best Python Books for Beginners:

Python Crash Course: A Hands-on, Project-based Introduction to Programming by Eric Matthes

What should I tell you about this book? It is well structured. Python Crash Course starts by going over the language constructs. It explains variables, functions, classes and much more. In the second part, it is more practical with smaller projects. One of the more advanced projects is building a Learning Log with Django (a Python Web Framework) and deploy it into the cloud using Heroku.

Contentwise, you can not go wrong with Python Crash Course. The only downside seems to be its bad build quality. A lot of people report that their paperback edition lost its surrounding already after a few weeks. If you can’t decide between the e-book and the printed edition, go for the e-book on this one.

Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners by Al Sweigart

Automate the Boring Stuff with Python is definitely a great starter book. It focuses on practical things you can do with Python. If you think about automating tasks in your daily personal or non-personal life, this is the book for YOU!

If you don’t want to spend money the first edition is available on https://automatetheboringstuff.com/. It is a great opportunity for evaluating the book.

Automate the Boring Stuff covers a lot of useful libraries. After finishing it, you will be able to:

  • Search, Create, Update, Move Files and Folders
  • Scrape Content from Websites to get useful information
  • Work with Excel Sheets, Google Sheets, PDF, and Word Documents
  • Sending E-Mails and Text-Messages
  • Scheduling Tasks and Launching Programs
  • Controlling the Keyboard and the Mouse
  • Much much more!

This list is not by any means covering everything. This book teaches a massive amount of useful techniques for automating everyday tasks. If you are new to programming with Python and you want to use it for automating your everyday chores: Just pick this book you will not regret it!

Learning Python by Mark Lutz

Some refer to “Learning Python” as the Python bible. It is a huge book with about 1600 pages. Personally, I would not suggest to buy it as your first python book just due to its size and how much it goes into detail.

This is nothing negative, for a starter it might be more beneficial to cover a lot of ground first and learn the details later. Learning Python is a good book to keep around your desk in case you want to look something up. Even after a few years. I think it makes a perfect second book to keep yourself occupied for a while.




Now, that we covered the beginner’s books. Head over to the Best Python Books for Intermediate and Advanced Programmers. The order of the following list is intentional, it goes from easiest to hardest. I can’t recommend enough to read them in the following order:

Effective Python: 90 Specific Ways to Write Better Python by Brett Slatkin

As somebody coming from another programming language this should be your first pick. Effective Python introduces a lot of Python idioms. If you are a beginner this is the perfect follow-up to Automate the Boring Stuff.

Personally, I think this is the one book to keep lying around your Desk. If you are a programmer and you want to become serious with Python you can’t go wrong with Effective Python. The 2nd Edition, which was released in April 2019, is now based on Python 3 and therefore definitely a good investment.

Python Cookbook: Recipes for Mastering Python 3 by David Beazley, Brian K. Jones

Yet another of the O’Reilly Cookbooks. The Cookbook Series plays with the Cooking metaphor. It provides you with plenty of recipes for specific coding problems. This one here is about Python 3.

This book can be read cover-to-cover or as a quick reference to solve the problem in hand. The Python Cookbook does also a great job of teaching idiomatic Python. You probably can pick up a lot of neat Python coding techniques while working with the book.

Fluent Python: Clear, Concise, and Effective Programming by Luciano Ramalho

Fluent Python has set itself the task of teaching Python the way it is supposed to be used. In addition to explaining how the language is supposed to be used, it also explains really well how it works. Like no other book of this list, it shows how the mechanics behind the scenes work.

It is also a great book for people already knowing another programming language. Especially if Python is not your first language you might not learn a few special Python Features because you already know other ways of dealing with the problems.

In my opinion one off the best Python books you can get.

Recap

We talked a lot about good Python books and their pros and cons. I think I am not only speaking for myself: Nobody has time to read all of them.

My recommendation for getting only two of them:
If I had to pick two of the list, it would be Automate the Boring Stuff as a Beginner’s Book and Fluent Python as the Advanced Book.

I hope you liked the list, feel free to give me feedback about your experience with those or let me know if you think I missed some important books!

You can leave a comment here or on Twitter.



About the Author:

Marcus "Mo" Eisele

Marcus is fascinated by technology. He loves learning new things.
He is a Software Engineer at Daimler TSS.


We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.