Desktop Site (Beta)

Introductory Video

A Taxonomy of Decorators: A-E

Loading

Follow to receive video recommendations   a   A
Speaker: Are you the speaker?

This talk will briefly go over the various decorator syntaxes before breaking up the common usages of decorators into 5 categories. Effectively, these are design patterns for decorators. The usages to be considered are:

  • A - Argument Changing Decorators – Decorators that change a function’s arguments, including changing its signature
  • B - Binding Decorators – Decorators that implement the Descriptor Protocol, such as the builtins: @property, @classmethod, and @staticmethod
  • C - Control Flow Decorators – Decorators that change when or whether the function will be called, such as @retry or @lrucache
  • D - Descriptive Decorators – Decorators that do not change the function, but create a reference to it elsewhere, like pytest.mark and flask.app.route
  • E - Execution Decorators – Decorators that retrieve source code and/or AST and alter it.



Editors Note:

I am looking for editors/curators to help with branches of the tree. Please send me an email  if you are interested.  

Comment On Twitter