by Jonathan Fine
Python has a well-thought out system for classes. Beginners can use it without understanding it all. Experts can use it to produce code that is both elegant and powerful (such as models and class-based views in Django). Python classes can be used for many purposes.
This tutorial arises from the author's experience in using classes to solve problems, such as:
A. Add custom methods and attributes to objects that are, at root, just an integer.
B. Construct dictionaries whose values are functions.
C. Construct classes on-the-fly.
The outline syllabus is:
1. Review of the class statement in Python (and decorators).
2. Subclassing built-in types such as int and tuple.
3. How to define classes without using a class statement.
4. How to define a dispatch dictionary using a class statement.
5. Metaclasses as syntactic sugar for class construction.
6. Metaclasses to provide new class semantics.
This tutorial is for Intermediate or Advanced Python programmers. (Beginners will find it very hard going.) The aim of the course is to explain exactly what happens when a class in constructed, and to learn ways of using this knowledge.
All problems have simple, easy-to-understand, logical wrong answers.
Subclassing in Python is no exception. Avoid the common pitfalls
and learn everything you need to know about how subclass in Python.
20th–26th June 2011