Surfalytics

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.

Real Python 3, in-browser Run any code, safely Automatic answer checking Based on the blog post

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.

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