Decorators and python objects demystified
Posted on Thu 05 December 2013 in Notes
This article explains very well how decorators works, and a lot about how everything in Python is an object (last time I'll be making a variable with the same name as a function!)
The jist is that any function is an object and can be parsed into another function, and the @-decorator is shorthand for doing just that!
def func_a(func): print "func a" func() def func_b(): print "func b" func_b = func_a(func_b) func_b() # func a # func b
is the same as
def func_a(func): print "func a" func() @func_a def func_b(): print "func b" func_b() # func a # func b