Here is a complete breakdown you might follow for learning Python:
Week 1:
- Intro to Python (3.7): Syntax and ways of doing things
- Variables
- Control Structures
- Comprehensions
- Input, Output, and Slicing,
Week 2:
- Intro to Algorithms
- Basic algorithms using python.
By the end of the week, you should be doing some easy challenges on LeetCode/Hackerrank or other sites of that nature.
Week 3:
- Module system
- Standard library
- How to use pip
- How to import modules
- How to structure a project
Week 4:
- Intro to Numpy and Pandas
Try to understand how they work. Why they're a bit different than the Python Syntax you've seen so far. Finally why you'd want to use them (not just for ML/Data Science) and how to modify algorithms you've worked on to use them.
Week 5:
- Intro to Networking
- How to make REST API calls
- What a Server is?
- What Flask is?
- Make a basic Web Application
Week 6:
- Advanced-Data Structures
- Classes
- OOPs
- Automated Testing
- Git, and Github
Week 7:
- Integrating with your system.
- Using the environment, using bash, ensuring you have permissions, virtual environments, setup.py, etc.
Week 8-10:
Think of a project you want to write and start writing it. Make sure to structure it sensibly, craft meaningful tests (do them first!), break the project into chunks, etc. All the things.