This presentation introduces the beginning/intermediate Python programmer to the Descriptor API, from its origins in the functions-are-special-cases "wart" in Python 2.1 through the introduction of the attribute-access API in Python 2.2 and to the introduction of function-decorator support in Python 2.4 and the expected Cambrian explosion of decorator classes. We will discuss some of the mechanics of the descriptor API, then focus on "why and when" to use descriptors and decorators.