descriptors

Descriptors: On your mark, *get*, *set*, *delete*!

Introduction Great design makes the complex appear simple. By this standard, Python is certainly an elegantly designed langauge. Among Python’s distinguishing characteristics as a programming language is its wide array of “special methods”. These special methods are hooks for built-in function and operators, and can be overriden to create the appearance of language-native support for user-defined classes. While you may already be familiar with some of the most common special methods — __init__(), __str__(), __iter__(),to name a few — there are many others that are not as well known.