Subklassen-Iterator
Kleine Spielerei:
def iterclasses(base):
"""
Return an iterator over all direct and indirect subclasses
of the given base class.
"""
yield base
subclasses = type(base).__subclasses__(base)
for klass in subclasses:
for subclass in iterclasses(klass):
yield subclass