Subclassing and Composition – A Pythonic Tour of Trade-Offs

Talk presentation

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.

Hynek Schlawack
Variomedia AG, Software Engineer
  • Lead infrastructure and software engineer from Berlin/Germany.
  • A PSF fellow, a maintainer of too many open source projects, and a contributor to even more.
  • His main areas of interest are networks, security and reliable software.
  • Linkedin, Twitter, mastodon
Sign in
Or by mail
Sign in
Or by mail
Register with email
Register with email
Forgot password?