Learn Python
PYLI5 is a free Python course for people who want clear explanations and practical examples. The goal is not to memorize syntax — it is to understand what your code is doing, practice it right in your browser, and build small tools that feel useful. No account is required to learn.
Choose the path that fits you and work through it in order. Start with Beginner if you are new to programming, move to Intermediate once the fundamentals feel familiar, and use the Advanced roadmap when you are ready to work with data, APIs, and larger projects.
-
Beginner
The PYLI5 beginner Python learning path, Units 1–3.
-
Intermediate
The PYLI5 intermediate Python learning path: object-oriented programming and advanced basics, Units 4–6.
Who this is for
PYLI5 is written for complete beginners and for anyone who has tried Python before but found it explained in jargon. If you can open a web browser, you can start — the early lessons assume no prior programming experience, and each idea is introduced in plain English before the technical detail.
How the PYLI5 course works
Every lesson follows the same shape: a plain-English explanation first, then the precise technical version, then a runnable example you can edit and run in the browser. Examples start small and grow more practical as you go.
Lessons are meant to be followed in order within a path, but the Glossary and Projects work as references you can dip into any time. You never need an account, and nothing needs installing to try the examples.
Beginner path
The Beginner path (Units 1–3) takes you from your very first print() to writing small, useful scripts. It covers variables and data types, strings and numbers, making decisions with if statements, repeating work with loops, organizing code into functions, and working with lists and dictionaries.
The last unit moves into real-world basics: handling errors, reading and writing files, and pulling it together into a small project.
After the Beginner path you should be able to: store and update values with variables, make decisions with if statements, repeat work with loops, organize code with functions, work with lists and dictionaries, read and write files, and handle common errors.
Intermediate path
The Intermediate path (Units 4–6) moves from writing scripts to designing programs. It covers object-oriented Python — classes, objects, inheritance, and special methods — then practical scripting: command-line tools, file automation with pathlib, testing, and reproducible projects. The final unit builds a small web app with Flask.
After the Intermediate path you should be able to: model data with classes, build small command-line programs, automate and clean simple data files, test your code, understand when to use modules and packages, and put together a tiny web app.
Advanced roadmap
The Advanced roadmap is a guide to what to learn after the basics — working with APIs and JSON, tabular data, databases, decorators and context managers, type hints, logging, and packaging a script so others can run it. New advanced lessons are added over time; the roadmap explains the topics, the order to learn them, and what each one helps you build.
After the advanced topics you should be able to: pull and shape data from APIs and files, write cleaner and safer code, and organize and share larger projects.
Projects and the Glossary
Projects turn lessons into practice — guided builds that use what you have learned. Try one whenever you finish a unit or want to make something real.
The Glossary is a plain-English reference for Python terms. Each entry has a short definition, a runnable example, the common tools that go with the term, and links to the lessons where you use it — handy whenever a word is unfamiliar.
What you’ll be able to build
By working through the paths and projects, you will be able to build things like: a command-line to-do or notes tool, a script that cleans a messy CSV file, a program that organizes files in a folder, a tool that calls an API and saves the results, and a tiny Flask web page.
How long it takes, and how to pace yourself
How long the course takes depends entirely on your pace — there is no deadline. What matters more than speed is actually running and changing the examples rather than only reading them. Pick a plan that fits your schedule:
- Fast path — studying most days, you can move through a unit in a week or two.
- Casual path — a few nights a week, aim for two or three lessons plus one practice session.
- Project-first path — learn the basics, then jump to a project and look up concepts as you need them.
Whatever the pace, don’t rush the exercises. Small changes you make yourself teach more than lessons you only skim.
If you get stuck
Getting stuck is part of learning to program. When an example doesn’t work, read the error message — it usually points at the line and the problem. The lessons on exceptions and common errors explain how to read and fix them.
If you already know the basics, skip ahead: jump into the Intermediate path or the Advanced roadmap, and use the Glossary to fill any gaps.
Frequently asked questions
Do I need to install Python? No. Every example runs in your browser, so you can start immediately. You can install Python later when you want to write code on your own machine.
Do I need an account? No. The core learning content is open — no sign-up required.
Should I follow the lessons in order? Within a path, yes — each lesson builds on the last. The Glossary and Projects can be used in any order.
What should I do when I get an error? Read the error message, check the line it names, and see the lessons on errors and exceptions. Errors are normal and fixable.
When should I start projects? As soon as you finish a unit, or any time you want to build something real with what you have learned.
What comes after the Beginner path? The Intermediate path, then the Advanced roadmap.