Python 100 Days: A Free Python Programming Course
Python - 100 Days from Novice to Master is a free curriculum by developer 骆昊 (Luo Hao), covering 100 numbered days of markdown lessons from installing Python through databases, Django, web scraping, data analysis, and machine learning. Reach for it if you read Chinese and want one long, sequenced path instead of scattered tutorials; skip it if you need English-language material, since every lesson is written in Chinese.
A comprehensive 100-day Python curriculum
Python - 100 Days from Novice to Master is a self-paced curriculum of 100 numbered daily lessons in the jackfrued/Python-100-Days GitHub repository. Early days cover core Python syntax and data structures, the middle stretch moves through databases, Django, and web scraping, and the later days cover data analysis, machine learning, and team-project practices.
Topics covered in Python 100 Days
- ✓Days 1-20 cover core Python: variables, operators, branching and loop structures, lists, tuples, strings, sets, dictionaries, functions, modules, and object-oriented programming basics.
- ✓Days 21-30 apply that syntax to files: reading and writing JSON, CSV, and Excel, working with Word and PDF documents, sending email and SMS, and using regular expressions.
- ✓Days 31-35 cover 'other related content': a Python-advanced review, an HTML/CSS/JavaScript/Vue.js front-end primer, and a Linux systems chapter.
- ✓Days 36-45 teach database management with MySQL: SQL's DDL, DML, DQL, and DCL, views, functions, stored procedures, indexing, connecting Python to MySQL, and a Hive walkthrough.
- ✓Days 46-60 work as a Python web development guide, building one Django project across models and the ORM, sessions and cookies, middleware, a Vue.js front end talking to a DRF REST API, Redis caching, Celery tasks, unit tests, and uWSGI/Nginx deployment.
- ✓Days 61-65 cover web scraping: the requests library, HTML parsing with regex/XPath/CSS selectors, concurrency, Selenium, and the Scrapy framework.
- ✓Days 66-80 function as a Python data science curriculum: NumPy, pandas, and data visualization with matplotlib, Seaborn, and Pyecharts.
- ✓Days 81-100 cover machine learning algorithms (kNN, decision trees, naive Bayes, regression, K-means, ensemble methods like XGBoost and LightGBM, neural networks, and a natural language processing intro), then close with team-project practices, an interview-question chapter, and a supplementary day on ML math and deep learning.
Who is this Python course for?
- •Complete beginners starting from zero: Day 1 covers installing Python and Day 2 walks through a first program before any theory.
- •Developers who want one Python development roadmap instead of assembling separate courses for syntax, databases, web frameworks, and data science.
- •Anyone searching for a free Python programming course that keeps moving: 100 sequenced days instead of an open-ended set of scattered tutorials.
- •People deciding between Python career paths, since the README itself breaks out backend development, DevOps, data analysis, data science, web scraping, and test automation as separate routes.
- •Self-learners preparing for interviews, given the dedicated interview-question chapter inside the Day 91-100 block.
Advantages of this Python learning resource
- ✓Free and broad in scope: one repository sequences beginner syntax, databases, a full Django project, web scraping, data analysis, and machine learning instead of five separate courses.
- ✓Concrete, code-driven lessons: Day 7 alone works through five exercises, including finding primes under 100, generating the Fibonacci sequence, and a CRAPS dice game.
- ✓A real project arc, not isolated snippets: Days 46-60 build one Django application through caching, async tasks, tests, and deployment, and Days 91-100 add team practices like Scrum roles and Git workflows.
- ✓GitHub activity shows a large number of developers have already used or referenced it.
- ✓Extra channels beyond the repo: the author's Zhihu columns and a Bilibili video series, per the README, back up the written lessons for learners who want video.
Considerations for learners
- △The README and nearly every lesson file are written in Chinese; there's no English version of the day-by-day content itself.
- △GitHub lists no license for this repository. That leaves it unclear what you're legally allowed to do with the material beyond reading it.
- △Day numbering isn't fully uniform: most sections use 'DayNN,' but Days 91-99 switch to a '第N天' (Day N) heading style in the README.
- △A few referenced tools, like PowerDesigner for database modeling or JIRA for issue tracking, are commercial products themselves, even though the curriculum content is free to read.
- △Coverage moves fast in the later stretch: days 81-90 alone work through kNN, decision trees, naive Bayes, regression, K-means, and ensemble methods, a much steeper pace than the first 20 days.
Frequently asked questions
Python - 100 Days from Novice to Master starts from zero: Day 1 covers installing a Python environment, and Day 2 walks through a first 'Hello World' program before any theory, so it's built to onboard people with no prior programming background.
Python - 100 Days from Novice to Master spans core Python syntax, file handling, MySQL and SQL, a full Django web project, web scraping with Selenium and Scrapy, data analysis with NumPy and pandas, and machine learning algorithms across its 100 days.
The curriculum is delivered as numbered markdown lesson files inside the jackfrued/Python-100-Days GitHub repository, grouped into day ranges like Day01-20 and Day66-80, with some video content mirrored to Bilibili per the README.
Not clearly documented as a formal requirement, but the structure answers it anyway: the course opens with installing Python and writing a first program, so no prior Python experience is assumed.
The lesson content in the jackfrued/Python-100-Days GitHub repository is free to read. The README does mention a separate paid check-in and consulting group for learners who want more direct contact with the author.
The curriculum is written in Chinese. A handful of English asides appear, like a tip urging learners to 'make English your working language,' but the day-by-day lessons themselves are not translated.
Alternatives
Who should try it — and who should skip
Try Python - 100 Days from Novice to Master if you read Chinese and want a single, free path from Python basics through Django, web scraping, data analysis, and machine learning, especially if you're weighing which Python career track (backend, DevOps, data analysis, data science, testing) fits you, since the README itself breaks those out. Skip it if you need English-language lessons or a course with graded assignments and instructor feedback: this is a self-paced reading list of markdown files, not an interactive class.
Curious whether Python-100-Days is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about Python-100-Days.
