Subclassing, Composition, Python, and You
07-21, 10:30–11:15 (Europe/Prague), PyCharm (Forum Hall)

Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? We all have! And while "Favor composition over inheritance!" is almost as old as object-oriented programming, strictly avoiding all types of subclassing leads to verbose, un-Pythonic code. So, what to do?

The discussion on composition vs. inheritance is so frustrating because far-reaching design decisions like this can only be made with the ecosystem in mind – and because there's more than one type of subclassing!

Let's take a dogma-free stroll through the types of subclassing through a Pythonic lens and untangle some patterns and trade-offs together. By the end, you'll be more confident in deciding when subclassing will make your code more Pythonic and when composition will improve its clarity.

Expected audience expertise


Hynek Schlawack is a lead infrastructure and software engineer from Berlin / Germany, PSF fellow, maintainer of too many open-source projects, and contributor to even more.

His main areas of interest are networks, security, and robust software.