Python is a high level and easy to learn programming language. With few lines of python code, you can perform complex tasks such as scraping website data, creating a website, sentiment analysis etc. Thus python serves as the language of choice for many beginners. But since beginners are new to programming, thus they make many mistakes while choosing their learning resources and divert from their path. In this guide, I will tell you a definitive path which you can follow to become a good python programmer and beat the rest of the crowd.
Your first step should be to read the book “Automate the boring stuff with python” by Al Sweigart. An online version can be found here, and you could also purchase a hard copy if you wish. Now the reason I recommend this book is because it is very beginner friendly, and while going through it, you will be writing codes to do many cool tasks using python like sending automated emails, creating a web scraper, GUI automation etc. These tasks are interesting enough to keep your attention and give you the feeling of doing something cool using code.
This book starts from the basics, and without wasting much time in the syntax, starts teaching you to create real projects, thus keeping your interest in the book. Complete this book and you will already be a little ahead with the rest of the crowd.
The second step should be to learn Django. Django is a python web framework which will help you create websites. Though Django might seem a bit tough, but hang in there. You can use the video tutorial series by new boston which can be found on youtube. It is a 40 video series which teaches you basics of django in an interesting way. You can check out the playlist here. In this series, you will learn some basic object oriented python along the way as well. Though you might not understand few things, but hang in there and complete the playlist.
Now after you complete this playlist, then read the django quickstart guide from the official docs. It is a well written guide written by the official creators of django. This guide will help you reinforce what you learned in the playlist. These two things will be enough to make you a decent django developer.
After this step, you can continue with web development by learning Flask web framework as well, or you can switch your path if you want. A popular path for python developers is data science and machine learning. If you are good in college math concepts like matrices, statistics (mean, mode, median etc) and basic calculus (differentiation, integration) you wont be having much problem while learning machine learning.
For learning ML in depth, I recommend the course by Andrew Ng on coursera. It is an in-depth ML course which teaches you from the basics and dives into the working of popular machine learning algorithms. This course uses octave programming language, but it wont hamper you from the path as the knowledge gained during this course would be invaluable.
Once you have learnt the theory behind ML algorithms, you can come back to python and learn popular ML libraries like Scikit learn and Tensorflow. These libraries basically contain functions for algorithms which you just learnt in the course. So you won’t be having any problem while implementing them.
Also, for any doubt, you can always google and some stackoverflow answer will solve your doubt in no time! Remember that googling is the best skill a programmer should have. If you know how to google effectively with the right keywords, your issues will be solved in no time!