"Where to start your programming journey is easy" - said no one ever!
So you decided you want to learn Python, Congratulations🥳
You just made the best decision of your life!
Now learning Python is similar to wanting to learn how to drive. You want your license as fast as possible!
This is where I come to play.
Check out this list of books from beginner to intermediate to help you learn Python fast, but more importantly, the right way.
1. Python Crash Course
Listen to me carefully. I guarantee, there is no better book to start your journey into Python.
If you ask me, a good resource to learn Python as a beginner is this book.
As someone with no programming or IT background, I could follow along just fine. It explains concepts in small steps and has good exercises to understand the basics. The first part explains Python and the second part has fun projects.
Understand this. You have no business moving on to the second book if you don't finish this book.
2. Introducing Python
OK. Let's say the way the last book was written, wasn't exactly your cup of tea. Fine. I have another intro book for you, that is written in a different style.
This book has a similar structure, but feels more serious. In my opinion, this book reads a lot better after you read number 1.
3. Automating the boring stuff with Python
Hands down, this is the best book to pick up if you know the basics. This book walks you through the basics again, but from a different angle, and has different exercises than the first book.
It also has cool small projects in them that are really useful.
Often, I get the question
"How do I practise Python"
This book is my answer.
4. The Big Book of Small Python Projects
This is the book to start practising your skills.
There's no point in reading more books or watching tutorials. At this point, you need to practice coding.
This book is great if you haven't done a project yet and need exercises.
5. Serious Python
OK. I say 'serious' and 'seriously' way too often, but seriously though. At this point, you can actually start picking up libraries and frameworks such as DJANGO, Pandas, etc.
However, if you want to go in depth learning Python, this is a good book to cover topics like multithreading, memorization, making decorators more effective, and working with relational databases.