Aspect-Oriented Programming — Diving Deep into Decorators

Mike Müller

Monday, 19 April 2027, 13:00–16:00 (afternoon)

Half-day masterclass · 3 hours

  • Python
  • Decorators
  • Aspect-Oriented Programming

Space is limited. Book your place.

Get your ticket

The aspect-oriented programming paradigm can support the separation of cross-cutting concerns such as logging, caching, or checking of permissions. This can improve code modularity and maintainability. Python offers decorators to implement reusable code for cross-cutting tasks.

This class is an in-depth introduction to decorators. It covers their usage and how to implement simple and more advanced solutions. Use cases demonstrate how to apply aspect-oriented programming. In addition to showing how functions can use closures to create decorators, the class introduces callable class instances as an alternative. Class decorators can solve problems that used to be tasks for metaclasses. The class provides use cases for class decorators.

While the focus is on best practices and practical applications, the class also provides deeper insight into how Python works behind the scenes. After the class, participants will feel comfortable with functions that take functions and return new functions.

Who Should Attend

This class is for intermediate Python programmers who want to dive deeper. Solid working knowledge of functions and the basics of classes is required.

What You'll Learn

Participants will learn how to write reusable decorators and apply them to common programming tasks. They will acquire hands-on skills that can be applied to programming projects.

What to Bring

Participants need a current Python installation. I will work with Python 3.15, which is recommended. Older Python versions will work too.

Your trainer: Mike Müller

I have been teaching Python professionally since 2004. According to my records, I have taught at least 600 Python courses totaling 1,560 teaching days as of October 2026. This represents thousands of participants from diverse backgrounds, including software developers, data scientists, researchers, and engineers.

Conference Tutorial Experience

I have extensive experience teaching tutorials at Python conferences worldwide:

  • PyCon US: 30 tutorials since 2007, making 2026 my 20th consecutive year attending and teaching at PyCon US
  • International conferences: Over 75 tutorials total at conferences including:
    • EuroPython (multiple years)
    • EuroSciPy (multiple years)
    • PyCon DE (multiple years)
    • PyCon PL (Poland)
    • PyCon IE (Ireland)
    • PyCon AsiaPacific
    • PyData London
    • PyData Berlin
    • Chemnitzer Linux-Tage

Commercial Training

I regularly teach Python topics in commercial courses at Python Academy, where I serve as a senior trainer. This ongoing commercial training experience keeps me connected to the practical needs of professional Python developers and allows me to continuously refine my teaching materials and methods based on participant feedback.

Space is limited. Book your place.

Get your ticket