โ† All courses
Intermediate12 weeks36 lessons1 assignment
Watch a free lesson

Learn Python 3

Build on Python fundamentals to write programs that read and clean real data files, talk to web APIs, and organise code into reusable modules and classes. You finish with a working command-line tool and a small data project you can show to an employer.

Instructor: Alex Olam

Course content

Module 1

Set Up a Real Python Workspace

  • 1.1Install Python 3 and VS Code on Windows or macOSโ–ถ Watch free preview
  • 1.2Run your first script from the editor and the terminal
  • 1.3Create and activate a virtual environment for each project
  • 1.4Install packages with pip and lock them in requirements.txt
  • 1.5Find bugs fast using breakpoints, the debugger and the REPL
  • Project Handover: Set Up a Workspace and Debug the Bill ScriptAssignment

Module 2

Handle Data With the Right Structure

  • 2.1Choose between a list, tuple, set and dictionary for a given task
  • 2.2Loop through dictionaries and nested data without getting lost
  • 2.3Replace repetitive loops with list and dictionary comprehensions
  • 2.4Sort and filter records using key functions and lambda
  • 2.5Format readable output with f-strings and alignment

Module 3

Write Functions and Modules You Can Reuse

  • 3.1Write functions with default, keyword and *args parameters
  • 3.2Return multiple values and unpack them cleanly
  • 3.3Split a long script into modules and import between them
  • 3.4Catch and raise errors with try, except, finally and raise
  • 3.5Explain your code with docstrings and type hints

Module 4

Model Real Things With Classes

  • 4.1Create your first class with __init__ and attributes
  • 4.2Add methods that update and report an object's state
  • 4.3Extend a class with inheritance instead of copying code
  • 4.4Print objects usefully with __str__ and __repr__
  • 4.5Group related classes into a package folder

Module 5

Read and Write Files Like a Working Developer

  • 5.1Open, read and write text files safely with the with statement
  • 5.2Turn a CSV of sales records into a list of dictionaries
  • 5.3Save and reload program data as JSON
  • 5.4Build file paths that work on any machine with pathlib
  • 5.5Clean and validate messy rows before you use them

Module 6

Pull Live Data From the Internet

  • 6.1Send your first GET request with the requests library
  • 6.2Read a JSON API response and dig out the fields you need
  • 6.3Pass query parameters and hide API keys in a .env file
  • 6.4Handle timeouts, bad status codes and retries gracefully
  • 6.5Save fetched data to CSV for later analysis

Module 7

Capstone: Build a CLI Expense Tracker

  • 7.1Plan the app and lay out the project folder structure
  • 7.2Create the Expense class and a SQLite storage layer
  • 7.3Add add, list and delete commands with argparse
  • 7.4Generate a monthly spending summary report in the terminal
  • 7.5Write pytest tests for your storage and summary logic
  • 7.6Write a README and publish the project to GitHub

๐Ÿ”’ Assignments open once you've finished the lessons and quizzes in their module. They're marked by an instructor and count towards your certificate.