Python from First Script to Service
A complete Python course: syntax, data, functions, objects, errors, testing, typing, concurrency, and packaging a real service you can run and keep running.
- Modules
- 06
- Lessons
- 18
- Reading time
- 9H 25M
- Words
- 31,713
What you will be able to do
- Read and write Python that survives a code review.
- Structure a program across modules and packages instead of one long file.
- Handle failure deliberately rather than catching everything and hoping.
- Write tests that fail when the code is wrong and pass when it is right.
- Add type annotations and get value from a checker instead of fighting it.
- Package a service with pinned dependencies and run it under load.
Before you start
A computer where you can install software, and enough terminal comfort to move between directories and run a command.
Python is the language most likely to be somebody's first, and the one most often used badly by people who have been writing it for years. Both problems have the same root: the language makes it easy to write something that runs, and gives you no signal at all about whether the thing you wrote is going to survive a second month of use.
This course goes from installing the interpreter to shipping a service that makes outbound HTTP calls, handles their failure, and reports what it did. Nothing is skipped because it seems advanced. Type annotations, exceptions, context managers, tests and async all arrive in the order you would actually meet them, and each one arrives attached to a problem that makes its existence make sense.
It deliberately does not cover data science libraries, machine learning, GUI toolkits or web frameworks beyond the standard library. Those are separate subjects with their own prerequisites, and pretending otherwise is how courses turn into surveys. What you get here is the language and the engineering around it, which is the part everything else assumes you already have.
Curriculum
6 modules, 18 lessons
Getting a program to run
Installing Python, running a file, and reading a traceback as information rather than as failure.
3 lessons · 1H 30M
Data and control flow
The built-in types, how they actually behave, and the loops and decisions that turn them into programs.
3 lessons · 1H 30M
Functions and structure
Parameters, scope, modules, packages, and how a real program is laid out on disk.
3 lessons · 1H 35M
Objects and errors
Classes, dataclasses, exceptions and context managers, and what a well-behaved object owes its caller.
3 lessons · 1H 30M
Testing and typing
pytest, test design that catches real bugs, type annotations, and a checker running in CI.
3 lessons · 1H 35M
Concurrency and shipping
Threads, asyncio, outbound HTTP, pinned dependencies, and a service that survives contact with the network.
3 lessons · 1H 45M
Go deeper