Free Interactive Python Course
Just enough Python for data roles
Python is the number one language for data jobs. It is also big. You do not need all of it. This course teaches the five fundamentals every data role uses, then the handful of topics that show up in real pipelines: JSON, CSV, logging, environments. Real Python runs on this page.
Note: the Python engine is a ~10 MB download on your first visit, then your browser caches it.
Course program
Every topic is theory plus hands-on exercises. Master section 1 before you go deeper. The first section is free.
Just Enough Python I: the five fundamentals
- 01 Why Python, and how to learn it What Python is used for in data jobs, what you can skip, and the learning method that works: books, small scripts, repetition. Free
- 02 Variables and data types int, float, str, bool, None. Naming variables, converting between types, and f-strings for output. Free
- 03 Data structures: lists, tuples, dicts, sets The four containers you use daily. Dictionaries are the most important one for data work: they are how JSON looks in Python. Free
- 04 Control flow: if, for, while Make decisions with if/elif/else, repeat with for and while, and the two patterns you will write a thousand times: filter a list, sum a total. Free
- 05 Functions def, parameters, return values, defaults. Write a piece of logic once, use it everywhere. Plus lambda, the one-line function you see in pandas and Spark. Free
- 06 Modules, packages, and virtual environments import from the standard library, install packages with pip or uv, and give every project its own environment so your code runs on any machine. Free
Just Enough Python II: Python for data work
- 01 List comprehensions and exceptions The two 'nice to have' features that show up in every real codebase: one-line filter and transform, and try/except so one bad row does not kill the whole job. Members
- 02 Data formats: JSON and CSV Every API speaks JSON, every spreadsheet exports CSV. Read them, walk the structure, write them back out. Plus what Parquet is and when you will meet it. Members
- 03 Logging, environment variables, and config Production code is not print(). It logs with levels, keeps secrets in environment variables, and reads settings from config files. The three habits that make you look professional. Members
- 04 Where Python fits: three real data stacks From zero Python to all Python: three real architectures, the libraries each one needs, and how to choose what to learn next for your target role. Members
The idea behind the course
Problem-solving first
The language is a tool. The business problem comes first. Every exercise here is a small, real task, not a puzzle.
The 80/20 rule
20% of Python covers 80% of data work. Five fundamentals, then data formats, logging, and environments. Learn the rest when a job needs it.
Books over videos
Read Think Python (free) or Python Crash Course alongside this course. Read, pause, type it out, come back. That is how it sticks.
This course follows the blog post Just Enough Python for Data Roles.
Frequently asked questions
Is this Python course really free?
Yes. The first section, the five Python fundamentals, is completely free — no account needed. The second section, Python for data work, is part of the Surfalytics membership.
Do I need to install Python?
No. Real Python 3 runs directly in your browser. You write code, press Run, and see the output. Nothing to download for the exercises. Topic 6 shows you how to set up Python on your own machine when you are ready.
How much Python does a data analyst or data engineer need?
Less than you think. Variables, data structures, control flow, functions, and modules cover most day-to-day work. After that, the tools matter more: pandas, Airflow, dbt, Snowflake, Databricks. This course teaches exactly that slice.
Should I learn Python or SQL first?
SQL first if you want an analyst job fast. Python next. Data engineering roles need both. The two courses are independent, so you can do them in either order.
Want the full path to a data job?
Python is one piece. Surfalytics members get the full curriculum, hands-on projects, mock interviews, and a private community.
See how membership works