Turtles All The Way Down: Demystifying Deferreds, Decorators, and Declarations (#169)
Turtles all the way down: Demystifying deferreds, decorators and declarations
Presented by Glyph Lefkowitz
Python's flexible object model allows library and framework authors to add very flexible declarations. Metaclasses, decorators, callable objects, and operator overloading practically allow libraries to re-define the language in order to provide a more concise, natural style for that library. Unfortunately, the library user's first experience of such conveniences is often confusing, because it's not clear what's going on.
In this talk, I will try to convince you that all of this wonderful magic isn't all that weird. This is not a typical how-to session on how to use a particular feature, either of Python or of Twisted, but will rather draw examples from Python, Twisted, and Zope to illustrate techniques you can use to read and understand "magical" Python code.