Skip to content

Viraj97-SL/Python-100-Days

 
 

Repository files navigation

🐍 Python: 100 Days from Novice to Master

Stars Forks License PRs Welcome Translation

A structured, hands-on guide to mastering Python — from your first print("Hello, World!") to deploying production apps and training ML models.

📖 Start Learning · 🗺️ Learning Roadmap · 📊 Track Progress · ⭐ Original Repo


🌐 About This Translation

This is a full English translation of the legendary Python-100-Days course by Luo Hao (jackfrued) — one of the most comprehensive Python learning resources ever written, originally in Chinese with over 150k+ GitHub stars.

All 100+ lesson files have been translated using Gemini 2.5 Flash, preserving all code, formatting, and technical accuracy.

🙏 Full credit to the original author: jackfrued. This repo exists purely to make his excellent work accessible to English-speaking learners. Please star the original repo too!


🗺️ Learning Roadmap

graph LR
    A([🟢 Start Here]) --> B[Day 01-20\nPython Fundamentals]
    B --> C[Day 21-30\nFile I/O · APIs · Regex]
    C --> D[Day 31-35\nAdvanced Python\nLinux · Web Frontend]
    D --> E{Choose Your Path}

    E --> F[🌐 Web Dev\nDay 46-60\nDjango · REST · Redis]
    E --> G[🕷️ Web Scraping\nDay 61-65\nrequests · Selenium · Scrapy]
    E --> H[📊 Data Science\nDay 66-90\nNumPy · Pandas · ML]

    F --> I[🚀 Day 91-100\nProduction · Docker · DevOps]
    G --> I
    H --> I
    I --> J([🏆 Python Master])
Loading

💡 Why This Course?

Feature Details
📅 Structured 100 daily lessons with clear progression
🛠️ Hands-on Real code examples, not just theory
🌍 Comprehensive Web dev, data science, ML, DevOps — all in one place
🆓 Free Completely open source
🔤 In English Fully translated from the Chinese original

📊 Track Your Progress

Fork this repo, then check off days as you complete them!

Phase 1 — Foundations (Day 01-35)

  • Day 01-20: Python Language Fundamentals
  • Day 21-30: Python Language Applications
  • Day 31-35: Advanced Topics, Linux & Web Frontend

Phase 2 — Databases (Day 36-45)

  • Day 36-45: SQL, MySQL & Database Fundamentals

Phase 3 — Choose Your Track

  • Day 46-60: Django Web Development
  • Day 61-65: Web Scraping & Data Collection
  • Day 66-80: Data Analysis (NumPy, Pandas, Visualization)
  • Day 81-90: Machine Learning

Phase 4 — Professional Level (Day 91-100)

  • Day 91-100: Team Dev, Docker, Performance, Deployment

📋 Curriculum

Day01~20 - Python Language Fundamentals

🏷️ beginner · ⏱️ ~3 weeks · Prerequisites: None

  1. Introduction to Python — History, Pros/Cons, Application Areas
  2. Installing Python — Windows & macOS
  1. Tools for Writing Code
  2. Hello World
  3. Commenting Your Code
  1. Variables and Types
  2. Variable Naming
  3. Variable Usage
  1. Arithmetic, Assignment, Comparison & Logical Operators
  2. Expressions in Practice — Temperature Conversion, Circle Area, Leap Year
  1. if / else / match / case
  2. Practice — Piecewise functions, Grade conversion, Triangle area
  1. for-in loop · while loop
  2. break and continue
  3. Nested loops
  4. Practice — Primes, GCD, Number Guessing Game
  1. Prime Numbers · Fibonacci · Narcissistic Numbers · Hundred Chickens · CRAPS
  1. Creating, Operating, and Traversing Lists
  1. List Methods · List Comprehensions · Nested Lists

Day10 - Tuples

  1. Tuple Operations · Packing/Unpacking · Tuples vs Lists

Day11 - Strings

  1. String Definition · Escape chars · Raw strings
  2. Concatenation, Comparison, Slicing, Methods, Encoding

Day12 - Sets

  1. Creating Sets · Set Operations · Membership, Binary & Comparison Ops

Day13 - Dictionaries

  1. Creating, Operating, and Using Dictionaries
  1. Defining Functions · Parameters (positional, keyword, default, variadic)
  2. Managing Functions with Modules · Standard Library
  1. Verification Code · Primes · GCD/LCM · Statistics · Lottery Numbers
  1. Higher-Order Functions · Lambda · Partial Functions
  1. Decorators · Recursive Calls

Day18 - Intro to OOP

  1. Classes and Objects · Initialization · Pillars of OOP
  2. Project: Digital Clock · Point on a Plane

Day19 - Advanced OOP

  1. Visibility · Property Decorators · Dynamic Properties
  2. Static Methods · Class Methods · Inheritance · Polymorphism
  1. Project: Poker Game · Payroll System

Day21~30 - Python Language Applications

🏷️ beginner-intermediate · ⏱️ ~2 weeks · Prerequisites: Day 01-20

  1. Opening/Closing Files · Text & Binary Files
  2. Exception Handling · Context Managers
  1. JSON · pip · Fetching Data from Network APIs

Day23 - CSV Files

  1. Reading and Writing CSV with Python
  1. Reading/Writing Excel · Styles · Formula Calculation
  1. Excel with openpyxl · Statistical Charts
  1. Operating Word Documents · Generating PowerPoints

Day27 - PDF Files

  1. Extract Text · Rotate/Overlay · Encrypt · Watermarks · Create PDFs
  1. Pillow — Processing and Drawing
  1. Sending Emails · Sending SMS Messages
  1. Regex Basics · Python re Module
  2. Validation · Extraction · Replacement · Splitting

Day31~35 - Other Related Content

🏷️ intermediate · ⏱️ ~1 week

  1. Data Structures & Algorithms · Higher-Order Functions
  2. OOP Deep Dive · Iterators & Generators · Concurrent Programming
  1. HTML · CSS · JavaScript · Vue.js · Element · Bootstrap
  1. Linux Overview · Basic Commands · Vim · Shell Programming
  2. Service Config · Network Management

Day36~45 - Database Fundamentals and Advanced

🏷️ intermediate · ⏱️ ~2 weeks · Prerequisites: Day 01-20

Day37 - SQL: DDL — Create/Drop/Modify Tables

Day38 - SQL: DML — INSERT / DELETE / UPDATE

Day39 - SQL: DQL — SELECT, Filtering, Joins, Window Functions

Day40 - SQL: DCL — Users, Permissions

Day41 - MySQL New Features — JSON Type, Window Functions, CTEs

Day43 - Indexes — Execution Plans, Index Types, Best Practices

Day44 - Python + MySQL — Connecting, CRUD, Transactions, ETL

Day45 - Hive Practice — Big Data SQL with Hive


Day46~60 - Django Practice

🏷️ intermediate-advanced · ⏱️ ~3 weeks · Prerequisites: Day 01-35

Day52 - Middleware

Day59 - Unit Testing


Day61~65 - Web Data Collection

🏷️ intermediate · ⏱️ ~1 week · Prerequisites: Day 01-30

Day62 - Data Scraping and Parsing

  1. Fetching Resources with requests
  2. Parsing HTML — Regex · XPath · CSS Selectors

Day63 - Concurrent Programming

  1. Multithreading
  2. Multiprocessing
  3. Async I/O
  4. Concurrency in Web Crawlers

Day66~80 - Python Data Analysis

🏷️ intermediate-advanced · ⏱️ ~3 weeks · Prerequisites: Day 01-20

Day68 - NumPy - 1 — Arrays, Indexing, Image Processing

Day69 - NumPy - 2 — Descriptive Statistics

Day70 - NumPy - 3 — Operations, ufuncs, Broadcasting

Day71 - NumPy - 4 — Vectors, Matrices, Polynomials

Day72 - Pandas - 1 — Series

Day73 - Pandas - 2 — DataFrame

Day74 - Pandas - 3 — Reshaping & Data Cleaning

Day75 - Pandas - 4 — Grouping, Pivots, Presentation

Day76 - Pandas - 5 — YoY/MoM, Window Functions, Correlation

Day77 - Pandas - 6 — Index Types

Day78 - Data Visualization - 1 — Matplotlib: Line, Scatter, Bar, Pie

Day79 - Data Visualization - 2 — Bubble, Radar, Rose, 3D Charts

Day80 - Data Visualization - 3 — Seaborn & Pyecharts


Day81~90 - Machine Learning

🏷️ advanced · ⏱️ ~2 weeks · Prerequisites: Day 66-80

Day84 - Naive Bayes

Day85 - Regression Models — Linear, Polynomial, Logistic

Day87 - Ensemble Learning — AdaBoost, GBDT, XGBoost, LightGBM

Day89 - Natural Language Processing — BoW, Word2Vec, Transformer

Day90 - ML in Action — End-to-end project


Day91~100 - Team Project Development

🏷️ advanced · ⏱️ ~2 weeks · Prerequisites: All previous sections

Agile/Scrum · Code Review · Git Workflow · Project Scheduling

Containers · Dockerfile · Docker Compose · Kubernetes

InnoDB · Indexes · Partitioning · SQL Tuning · Architecture

Day94 - API Design

REST Principles · Documentation

Multi-DB · Cache · REST API · Celery + RabbitMQ

Unit Testing · uWSGI/Nginx · HTTPS · Performance Testing · Selenium CI


🚀 Quick Start

# 1. Fork and clone this repo
git clone https://github.com/Viraj97-SL/Python-100-Days.git
cd Python-100-Days

# 2. Install Python 3.10+
# https://www.python.org/downloads/

# 3. Create a virtual environment
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate

# 4. Open Day 1 and start learning!

🛠️ Tech Stack Covered

Area Technologies
Language Python 3.10+
Web Framework Django, DRF
Databases MySQL, Redis, Hive
Data Science NumPy, Pandas, Matplotlib, Seaborn
Machine Learning scikit-learn, XGBoost, LightGBM
Web Scraping requests, BeautifulSoup, Selenium, Scrapy
DevOps Linux, Docker, Nginx, uWSGI, Celery

🤝 Contributing

Found a translation error or want to improve a section? PRs are very welcome!

  1. Fork the repo
  2. Create a branch: git checkout -b fix/day-XX-translation
  3. Commit your changes
  4. Open a Pull Request

📜 License & Credits

  • Original Author: Luo Hao (jackfrued)Python-100-Days
  • English Translation: Viraj97-SL using Gemini 2.5 Flash
  • This project follows the same license as the original. All credit for the educational content belongs to the original author.

If this helped you, please ⭐ this repo and the original Chinese repo!

Made with ❤️ for the global Python community.

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 98.9%
  • Other 1.1%