Many of my readers and students learned Python and programming online—through courses, videos, and articles.
I find there are two main types of content online: complete beginner content, and specialised content.
For example, beginner content may be things like:
- Our Complete Python Course, which is for complete beginners to acquire a very respectable amount of Python knowledge;
- Blogs like this one, or Jeff Knupp's, and many others;
- Interactive Python-learning apps, like https://www.learnpython.org/
Some of these take you quite far in your Python knowledge, and others are just for when you're getting started.
Then there's also specialised content, like:
- Our REST API course which guides you specifically on creating REST APIs, or our Python Web course, which guides you on creating web applications;
- A whole lot of data science content, such as Udacity's courses;
- Much other content related to building games using Kivy, or plotting graphs using Matplotlib, etc...
The resource that many of us don't really use are books. Books can be a bit trickier to work with—you can't copy the code or see its output easily. You normally can't ask questions to the author either.
But books have some weight to them that other resources sometimes don't have. They've been endlessly checked and re-checked by publishers and editors. Many months or years have been spent polishing them to be as good as they can be. Often, authors are hand-picked because they're experts in their field and are able to explain things well.
I believe books should be a part of your continuous Python education. You don't need many books—but a few of them are excellent and I can recommend them.
I recommend two books for every future software developer.
This book is just amazing. It doesn't use Python, unfortunately. It uses Java, but the concepts and explanations around it are so fantastic, that it's worth looking briefly at some Java in order to understand it better.
Everything this book talks about is essential in every programming language and every programming project.
Fluent Python is a book designed to take you from someone who is knowledgeable about Python, to someone who is an expert in Python. It doesn't talk about specific projects you can build or things you can implement, but about understanding and using Python most efficiently.
Get the book here.
Let me know if you gave either of them a go! I'd be keen to hear what you think about these books!