explaingit

dabeaz-course/practical-python

10,711PythonAudience · developerComplexity · 1/5LicenseSetup · easy

TLDR

A structured Python programming course with 130 hands-on exercises for people who already know another language, covering scripting, data handling, and writing readable programs, no videos, just code.

Mindmap

mindmap
  root((repo))
    What it is
      Python training course
      130 coding exercises
      25-35 hours content
    Topics
      Scripting basics
      Data handling
      Code organization
    Audience
      Existing programmers
      Scientists and admins
      Traders and analysts
    Format
      Text and code only
      No videos required
    License
      Creative Commons SA
      Free to teach reuse
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Work through 130 Python coding exercises covering scripting, data handling, and program organization over 25, 35 hours

USE CASE 2

Teach a Python training course to scientists, sysadmins, or other professionals using freely available course notes

USE CASE 3

Learn the practical Python patterns that come up most in real work without starting from absolute beginner level

Tech stack

Python

Getting it running

Difficulty · easy Time to first run · 5min

Only requires a working Python 3.6+ installation, no additional packages or tools needed to start.

You can reuse, translate, adapt, and teach this material as long as you credit the original author and release any derivatives under the same Creative Commons Attribution ShareAlike terms.

In plain English

This is the course material for Practical Python Programming, a structured Python training course created by David Beazley. It has been taught in person to more than 400 groups since 2007, reaching scientists, systems administrators, traders, and other professionals who needed to add Python to their skill set. The material is now freely available under a Creative Commons license. The course is designed for people who already know how to program in at least one other language. It does not start from scratch. Instead, it focuses on the parts of Python that come up constantly in real work: writing scripts, working with data, and organizing programs so that they stay readable as they grow. Students work through roughly 130 hands-on coding exercises over 25 to 35 hours. The format is entirely text and code. There are no videos. The expectation is that you learn by writing Python, not by watching it. The material covers Python 3.6 and newer, and beyond a working Python installation, no additional tools are required to start. The course is not aimed at web developers, and it is not a reference for engineers building very large systems. It covers the practical middle ground that most people using Python actually need: get data in, do something with it, write programs that you and your colleagues can later understand and modify. The full set of notes is available as a GitHub Pages site linked from the repository. Discussion happens on a Gitter channel. Bug reports can be filed through the issue tracker, though pull requests are only accepted by invitation. The Creative Commons Attribution ShareAlike license allows reuse, translation, derivative works, and teaching, as long as attribution is preserved and the same license terms are carried forward.

Copy-paste prompts

Prompt 1
I'm learning Python with the practical-python course by David Beazley. I just finished the section on working with data files. Write me a short Python script that reads a CSV file, filters rows by a condition, and prints a summary.
Prompt 2
I'm doing the practical-python course and want to understand how to organize a growing Python program into modules. Give me a worked example with two files where one imports from the other.
Prompt 3
Using the practical-python course style, write a Python exercise that reads stock price data from a file, computes the total portfolio value, and prints a formatted report.
Prompt 4
I'm a scientist learning Python from the practical-python course. Show me how to process a directory of data files, aggregate the results, and write a summary to a new file.
Prompt 5
Based on practical-python course material, explain the difference between a list comprehension and a generator expression, and show a real data-processing example where the generator is the better choice.
Open on GitHub → Explain another repo

← dabeaz-course on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.