Intro to Metaclasses

Summary

Metaprogramming is a valuable technique for putting complexity where it belongs: behind a clean, friendly API. This talk goes over the basics of metaclasses and introspection in Python, and covers how and when you should use them to make your code more approachable.

Description

@ Kiwi PyCon 2013 - Saturday, 07 Sep 2013 - Track 2

Audience level

Intermediate

Abstract

Python's Metaclasses are an "advanced" technique, but once you get started they're surprisingly approachable.

Starting with the basics, we'll:

  • figure out what a metaclass does
  • point out some existing metaclasses you might already have used
  • see where you might use one in your own code.

We'll compare use of a metaclass with some alternatives that don't use metaclasses, to better understand why you'd want to use them.

Then we'll take a look at a couple of use-cases where using a metaclass helps us achieve a much more friendly and intuitive API than we otherwise could.

Slides

https://speakerdeck.com/nzpug/craig-de-stigter-intro-to-metaclasses