Journey

Runtime

This journey builds the smallest coherent model of Python at runtime: programs run statements, names refer to objects, objects have types, and operations ask those objects to do work.

In this journey

  • Start with executable evidence.
  • Separate value, identity, and absence.
  • Read expressions as object operations.

Start with executable evidence.

Learners first need to see that every page is a runnable program with visible output.

PAGEsourceoutputrunevidence
Examples are evidence loops: source, a run step, and visible output stay together.
  • Hello World

    Use this example to start with a complete program and its output.

  • Values

    Use this example to see that Python programs manipulate runtime objects.

  • Literals

    Use this example to write small values directly in source code.

  • Variables

    Use this example to understand that names bind to objects rather than storing values themselves.

  • Constants

    Use this example to learn the convention Python uses for values that should not change.

Separate value, identity, and absence.

This section prevents early confusion about equality, object identity, missing values, and truth tests.

object== valueis identityNone
Runtime objects answer separate questions: equal value, same identity, or the singleton that marks absence.
  • None

    Use this example to represent expected absence with a singleton object.

  • Booleans

    Use this example to combine facts with boolean operators.

  • Truthiness

    Use this example to predict how objects behave in boolean contexts.

  • Equality and Identity

    Use this example to distinguish value equality from object identity.

  • Mutability

    Use this example to predict when operations change an object in place.

  • Object Lifecycle

    Use this example to explain references, garbage collection, and why identity can outlive a single name.

Read expressions as object operations.

This section connects operators, text, and formatting to Python's data model.

syntaxDATA MODEL__add____len____format__result
Expression syntax enters the data model; object methods produce the result.
  • Numbers

    Use this example to use numeric objects and arithmetic operators.

  • Operators

    Use this example to combine, compare, and test values with expression syntax.

  • Strings

    Use this example to treat text as Unicode rather than raw bytes.

  • String Formatting

    Use this example to turn objects into readable text at output boundaries.

  • Bytes and Bytearray

    Use this example to contrast text with binary data and explicit decoding.