Python Modules 00–10 are a progressive series of exercises completed at 42 London, moving from Python fundamentals into object-oriented design, data handling, reusable architecture, and more advanced language features.

The modules are organised into four learning stages:

Python Foundations — Modules 00–02: core syntax, functions, control flow, recursion, classes, inheritance, encapsulation, and exceptions.

Data Handling & I/O — Modules 03–04: collections, comprehensions, lambdas, generators, command-line arguments, file handling, streams, and context managers.

Architecture & OOP — Modules 05–07: abstract classes, reusable components, package organisation, imports, factories, capabilities, and object-oriented design patterns.

Advanced Python & Tooling — Modules 08–10: virtual environments, dependencies, third-party libraries, data validation, closures, decorators, callables, and functools.

What I learned: how Python develops from a scripting language into a tool for structuring larger applications — from writing simple functions to designing reusable components, managing dependencies, validating data, and using more advanced language features.

What I’m proud of: Seeing the progression across the modules. By the later exercises, I was able to explain increasingly complex Python concepts clearly, defend my design choices, and structure my code more cleanly and deliberately.

Peer feedback:

“The work was explained rigorously and in detail, with clear explanations of concepts such as callables and lambdas.”

— Peer evaluator, 42 London

View on GitHub