# Python-100-Days Curriculum: A Complete 9-Block Learning Path from Basics to Machine Learning

> Master Python in 100 days with the jackfrued curriculum. Explore 9 blocks covering fundamentals, Django, data analysis, machine learning, and DevOps. Start your learning journey today.

- Repository: [骆昊/Python-100-Days](https://github.com/jackfrued/Python-100-Days)
- Tags: tutorial
- Published: 2026-02-24

---

**The Python-100-Days repository by jackfrued is a progressive 100-day tutorial series organized into nine thematic blocks covering language fundamentals, practical applications, Django web development, data analysis, machine learning, and DevOps practices.**

This comprehensive Chinese-language curriculum takes learners from writing their first "Hello World" script to building full-stack applications and implementing neural networks. Each day is contained in a dedicated markdown file within the repository, creating a linear learning path where concepts build systematically upon previous lessons.

## Python Language Fundamentals (Days 1-20)

The first block establishes core programming concepts through **Days 01-20**. This section covers variables, data types, control flow structures, function definitions, object-oriented programming principles, and essential standard-library modules.

Key files in this section include `Day01-20/01.初识Python.md` (Introduction to Python) and `Day01-20/14.函数和模块.md` (Functions and Modules). Learners progress from basic syntax to writing modular code with proper separation of concerns.

## Practical Python Applications (Days 21-30)

**Days 21-30** transition from language theory to real-world utility programming. This block focuses on **file I/O operations**, exception handling mechanisms, data serialization techniques, and manipulation of common office formats including CSV, Excel, Word, and PowerPoint files.

The curriculum also introduces image processing fundamentals, email and SMS automation, and regular expressions for pattern matching. Representative files include `Day21-30/21.文件读写和异常处理.md` (File I/O and Exception Handling) and `Day21-30/28.Python处理图像.md` (Image Processing with Python).

### Reading CSV Files with pandas

On Day 24, learners implement practical data ingestion using pandas:

```python
import pandas as pd

df = pd.read_csv('data/sample.csv')
print(df.head())

```

This example appears in `Day21-30/23.Python读写CSV文件.md`, demonstrating how to load and inspect tabular data efficiently.

## Advanced Language Features and Frontend Basics (Days 31-35)

The **Days 31-35** block bridges Python mastery with web development prerequisites. Content includes advanced Python features such as decorators, context managers, and metaclasses, alongside frontend fundamentals.

Learners study HTML, CSS, and JavaScript basics, then progress to **Vue.js** and **Element UI** components for modern interface development. The section also covers Linux command-line operations and shell scripting. Key resources include `Day31-35/31.Python语言进阶.md` (Advanced Python) and `Day31-35/32-33.Web前端入门.md` (Web Frontend Introduction).

## Database Theory and MySQL Integration (Days 36-45)

**Days 36-45** establish relational database competency, covering MySQL DDL (Data Definition Language), DML (Data Manipulation Language), DQL (Data Query Language), and DCL (Data Control Language) operations.

Topics include view creation, stored procedures, indexing strategies for performance optimization, and Python-MySQL integration using connectors like `PyMySQL` or `mysql-connector-python`. The block also introduces Hive basics for big data contexts. Essential files include `Day36-45/36.关系型数据库和MySQL概述.md` (Relational Databases and MySQL Overview) and `Day36-45/44.Python接入MySQL数据库.md` (Python Access to MySQL).

## Full-Stack Web Development with Django (Days 46-60)

The Django module spans **Days 46-60**, providing comprehensive full-stack development training. This block covers Django project structure, model definition and ORM usage, static asset management, Ajax integration for asynchronous operations, session handling, and custom middleware development.

Advanced topics include building **RESTful APIs** with Django REST Framework (DRF), implementing caching strategies with Redis, background task processing with Celery, automated testing, and production deployment techniques. Key files include `Day46-60/46.Django快速上手.md` (Django Quick Start) and `Day46-60/55.RESTful架构和DRF进阶.md` (RESTful Architecture and Advanced DRF).

### Django REST API Endpoint

Day 54 introduces API development patterns:

```python

# views.py

from django.http import JsonResponse

def hello_api(request):
    return JsonResponse({'message': 'Hello, Python-100-Days!'})

```

This implementation appears in `Day46-60/54.RESTful架构和DRF入门.md`, illustrating JSON response handling in Django views.

## Web Scraping and Crawling (Days 61-65)

**Days 61-65** focus on automated data extraction from the web. The curriculum covers HTTP protocol fundamentals, the `requests` library for HTTP communication, and HTML parsing techniques using regular expressions, XPath, and CSS selectors.

Performance optimization topics include multithreading, multiprocessing, and asynchronous I/O (`asyncio`) for high-concurrency scraping. The block culminates with browser automation using Selenium and framework-based development with **Scrapy**. Representative files include `Day61-65/62.用Python获取网络资源-1.md` (Acquiring Web Resources with Python) and `Day61-65/65.爬虫框架Scrapy简介.md` (Introduction to Scrapy Framework).

## Data Analysis and Visualization (Days 66-80)

The data science module occupies **Days 66-80**, introducing the Python data stack. Learners master **NumPy** for numerical computing and **pandas** for data manipulation, including cleaning, reshaping, aggregation, and time-series analysis.

Visualization instruction covers **matplotlib**, **Seaborn**, and **Pyecharts** for creating publication-quality charts and interactive dashboards. Statistical analysis methods support data-driven decision making. Key resources include `Day66-80/68.NumPy的应用-1.md` (NumPy Applications) and `Day66-80/78.数据可视化-1.md` (Data Visualization).

## Machine Learning Algorithms (Days 81-90)

**Days 81-90** provide a practical machine learning foundation covering both classical algorithms and modern approaches. The curriculum includes **k-NN**, decision trees, random forests, naïve Bayes classifiers, linear and logistic regression, **K-Means clustering**, ensemble methods, and neural network architectures.

Natural Language Processing (NLP) fundamentals and practical end-to-end projects reinforce theoretical concepts. Files such as `Day81-90/82.k最近邻算法.md` (k-Nearest Neighbors Algorithm) and `Day81-90/88.神经网络模型.md` (Neural Network Models) provide detailed implementations.

### k-NN Classification with scikit-learn

Day 82 demonstrates supervised learning patterns:

```python
from sklearn import datasets, neighbors

iris = datasets.load_iris()
X, y = iris.data, iris.target
knn = neighbors.KNeighborsClassifier(n_neighbors=3)
knn.fit(X, y)
print(knn.score(X, y))

```

This example from `Day81-90/82.k最近邻算法.md` shows model instantiation, training, and evaluation workflows.

## Team Projects and DevOps (Days 91-100)

The final **Days 91-100** block addresses professional software engineering practices. Topics include Agile and Scrum methodologies, **Docker** containerization, Continuous Integration/Continuous Deployment (CI/CD) pipelines, and performance tuning strategies.

The curriculum concludes with technical interview preparation and advanced topics including Deep Learning (DL), Computer Vision (CV), and Large Language Models (LLM). Essential files include `Day91-100/91.团队项目开发的问题和解决方案.md` (Team Project Development Issues and Solutions) and `Day91-100/92.Docker容器技术详解.md` (Detailed Docker Container Technology).

## Summary

The Python-100-Days repository provides a structured progression through modern Python development:

- **Days 1-20**: Language fundamentals and OOP principles
- **Days 21-30**: File processing, office automation, and regex
- **Days 31-35**: Advanced Python, Linux, and frontend basics
- **Days 36-45**: Relational databases and MySQL integration
- **Days 46-60**: Full-stack Django development with REST APIs
- **Days 61-65**: Web scraping with requests, Selenium, and Scrapy
- **Days 66-80**: Data analysis using NumPy, pandas, and visualization libraries
- **Days 81-90**: Machine learning algorithms and neural networks
- **Days 91-100**: DevOps practices, Docker, and project management

Each module is contained in dedicated folders (e.g., `Day01-20/`, `Day46-60/`) with daily markdown files providing theory, code examples, and hands-on exercises.

## Frequently Asked Questions

### Is Python-100-Days suitable for complete beginners?

Yes, the curriculum starts from absolute fundamentals in `Day01-20/01.初识Python.md`, assuming no prior programming experience. The early days focus on basic syntax, data types, and control structures before progressing to complex topics like machine learning.

### How does the repository handle web development training?

The tutorial dedicates **Days 31-35** to HTML/CSS/JavaScript fundamentals, then provides **15 days (46-60)** of intensive Django training covering ORM, RESTful architecture with DRF, Celery task queues, and deployment strategies, making it a comprehensive full-stack resource.

### What data science libraries are covered in Python-100-Days?

The curriculum covers the core Python data stack including **NumPy** for numerical operations, **pandas** for data manipulation, and visualization libraries including matplotlib, Seaborn, and Pyecharts during Days 66-80, followed by scikit-learn for machine learning implementations.

### Can I skip to specific topics like machine learning without completing earlier days?

While the repository is designed as a linear path, the folder structure (`Day81-90/` for ML, `Day61-65/` for scraping) allows targeted access to specific domains. However, Days 81-90 assume familiarity with Python basics and libraries introduced in earlier sections.