Too Long; Didn't Read
A python decorator is a special kind of function that either takes a function and returns a class, or takes a class. A decorator pattern wraps an object and dynamically adds some functionality to it. Decorators provide a flexible alternative to inheritance for extending functionality. Any callable can be used as decorator, including functions, methods, functors and functions. A lot of people underestimate the power of decorators in python, because they have the same name, but can do a lot more.