About this project
Python - 100 Days from Novice to Master is a systematic Python learning tutorial authored and open-sourced by developer Luo Hao (Jack Fraser), organized as Markdown documents with daily course breakdowns.
**Course Content Structure:**
**Day 01-20: Python Language Fundamentals**
Starting from Python introduction, environment setup, variables and operators, conditional and loop structures, gradually progressing to commonly used data structures such as lists, tuples, strings, sets, and dictionaries. Then covers function definition and module management, higher-order functions and Lambda expressions, decorators and recursion, and finally object-oriented programming (classes and objects, inheritance and polymorphism).
**Day 21-30: Python Language Applications**
Encompasses file read/write and exception handling, JSON serialization, CSV/Excel/Word/PDF/PowerPoint file operations, image processing and email sending, as well as regular expression applications.
**Day 31-35: Other Related Content**
Includes Python language advancement (iterators, generators, concurrent programming), web frontend fundamentals (HTML/CSS/JavaScript/Vue.js/Element/Bootstrap), and Linux operating system usage.
**Day 36-45: Database Fundamentals and Advanced Topics**
Systematically covers relational databases and MySQL, including DDL/DML/DQL/DCL statements, window functions, JSON types, views/functions/stored procedures, index optimization, and Python integration with MySQL and Hive.
**Day 46-60: Django in Practice**
From quick Django start to deep diving into models, static resources, Cookie/Session, report generation (Excel/PDF/ECharts), logging and debug toolbar, middleware, front-end/back-end separation development, RESTful architecture and DRF (Django REST Framework), caching (Redis), async tasks (Celery), unit testing, and project deployment.
**Day 61-65: Web Data Collection**
Introduces web scraping concepts and legality, data fetching with requests, page parsing (regex/XPath/CSS selectors), concurrent programming (multithreading/multiprocessing/async I/O), dynamic content scraping with Selenium, and the Scrapy framework.
**Day 66-80: Python Data Analysis**
Using Anaconda and Jupyter Lab environments, in-depth study of NumPy (array operations, broadcasting, matrix operations) and pandas (Series/DataFrame, data cleaning, pivot tables, time series), along with Matplotlib and Seaborn data visualization.
**Day 81-90: Machine Learning**
Covers kNN, decision trees and random forests, naive Bayes, regression models (linear/logistic/polynomial), K-Means clustering, ensemble learning (AdaBoost/GBDT/XGBoost/LightGBM), neural networks, and natural language processing basics (bag-of-words, word embeddings, RNN, Seq2Seq, Transformer).
**Day 91-100: Team Project Development**
Introduces waterfall model and agile development (Scrum), team collaboration standards (code review, version control, defect management), Docker container technology and Kubernetes orchestration, MySQL performance optimization, REST API design, e-commerce website technical points, project deployment and performance tuning, and interview coaching.
The project also features accompanying Bilibili video courses and a Zhihu column, making it suitable for Python learners from absolute beginners to advanced levels for systematic study.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.