20-Day Python Learning Course
Complete Python journey from basics to advanced concepts. Build real projects and master Python in just 20 days!
1-2 hours
Per day
20 Days
Total duration
5+ Projects
Hands-on practice
Daily Learning Path
Follow this structured 20-day curriculum to master Python programming.
Topics to Learn
- What is Python? Where it is used?
- Install Python & VS Code
- Run your first Python program (print('Hello World'))
- Learn how to run Python from terminal
Practice Task
10 print statements
Topics to Learn
- Variables
- Data Types: int, float, str, bool
- Type casting
- input() function
Practice Task
Create a calculator that takes user input
Topics to Learn
- Arithmetic, Assignment, Comparison, Logical
- Practical mini tasks
Practice Task
Find area of circle, Check if a number is positive/negative
Topics to Learn
- String indexing & slicing
- String methods (upper, lower, replace etc.)
- String formatting (f-strings)
Practice Task
Reverse a string
Topics to Learn
- Creating lists
- Indexing, Slicing
- Basic methods: append, remove, pop, sort
- Nested lists
Practice Task
Grocery list program
Topics to Learn
- Why tuples are immutable
- Tuple functions
- Set basics
- Operations: union, intersection
Practice Task
Find common elements between two sets
Topics to Learn
- Key-value pairs
- Add, update, delete items
- Loop through dictionary
Practice Task
Student data system using dictionary
Topics to Learn
- Simple if
- If-else
- If-elif-else ladder
- Nested if
Practice Task
Age verification, login system
Topics to Learn
- for loop
- while loop
- break, continue, pass
Practice Task
Number guessing game
Topics to Learn
- Defining functions
- Parameters, return value
- Default arguments
- Lambda functions
Practice Task
Create functions for calculator operations
Topics to Learn
- Read & write files
- Append mode
- Using with open()
Practice Task
Write a diary entry program
Topics to Learn
- try, except, finally
- Common Python errors
Practice Task
Build a safe calculator (handles errors)
Topics to Learn
- Importing modules
- Built-in modules: math, random, datetime
- Create your own module
Practice Task
Dice game using random
Topics to Learn
- Class & object
- Constructor (__init__)
- Instance & class variables
Practice Task
Create a class
Topics to Learn
- Inheritance
- Method overriding
- Polymorphism
- Encapsulation
Practice Task
Build a shape calculator (circle, rectangle)
Topics to Learn
- List comprehension
- Generators
- Iterators
- Decorators (basic)
Practice Task
Write list comprehension for filtering even numbers
Topics to Learn
- What is API
- requests module
- Fetch data from a public API
- Parse JSON
Practice Task
Build a weather data fetcher
Topics to Learn
- Install pandas
- Read CSV
- Data cleaning basics
Practice Task
Load a CSV and print summary
Topics to Learn
- Choose any 1 small project:
Project Options
- To-Do App (CLI)
- Contact book
- Password generator
- Expense tracker
- Quiz game
Practice Task
Complete one mini project
Topics to Learn
- Pick one:
Project Options
Option A: Python Automation
- Automate WhatsApp message
- Automate file organizer
Option B: Web Scraping
- requests + BeautifulSoup
- Scrape product prices
Option C: Flask Mini App
- Build a small web app with Flask
- Example: Notes app
Practice Task
Complete one advanced project
- Practice daily on HackerRank/CodeChef/LeetCode (Easy)
- Build 3-5 small projects
- Learn Git + GitHub basics
After completing this 20-day course, you'll have a solid foundation in Python programming. Here are some recommended next steps:
- Build 3-5 more complex projects to solidify your learning
- Contribute to open-source Python projects on GitHub
- Learn Python frameworks like Django or Flask for web development
- Explore data science libraries like NumPy, Pandas, and Matplotlib
- Practice algorithmic problems on coding platforms
- Join Python communities and attend meetups
Comprehensive handwritten notes covering Python fundamentals and advanced concepts. Perfect companion to this course for revision and quick reference.
Credits:
These notes were created and shared by Dheerendra Singh. Special thanks for making this resource available to the community.
