Python-100-Days Curriculum: A Complete 9-Block Learning Path from Basics to Machine Learning
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:
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:
# 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:
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.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →