Wann werden Definitionen von Metaklassen in Python eingebunden?

Heute bin ich auf eine überraschende Definition einer Metaklasse in Python gestoßenHie, wobei die Metaklassendefinition effektiv eingebettet ist. Der relevante Teil ist

class Plugin(object):
    class __metaclass__(type):
        def __init__(cls, name, bases, dict):
            type.__init__(name, bases, dict)
            registry.append((name, cls))

Wann macht es Sinn, eine solche Inline-Definition zu verwenden?

Weitere Argumente:

Ein Argument wäre, dass die erstellte Metaklasse mit dieser Technik an keiner anderen Stelle wiederverwendbar ist. Ein Gegenargument ist, dass ein gängiges Muster bei der Verwendung von Metaklassen darin besteht, eine Metaklasse zu definieren und in einer Klasse zu verwenden und dann von dieser abzubrechen. Zum Beispiel ina konservative Metaklasse die Definitio

class DeclarativeMeta(type):
    def __new__(meta, class_name, bases, new_attrs):
        cls = type.__new__(meta, class_name, bases, new_attrs)
        cls.__classinit__.im_func(cls, new_attrs)
        return cls
class Declarative(object):
    __metaclass__ = DeclarativeMeta
    def __classinit__(cls, new_attrs): pass

hätte geschrieben werden können als

class Declarative(object):  #code not tested!
    class __metaclass__(type):
        def __new__(meta, class_name, bases, new_attrs):
            cls = type.__new__(meta, class_name, bases, new_attrs)
            cls.__classinit__.im_func(cls, new_attrs)
            return cls
    def __classinit__(cls, new_attrs): pass

Irgendwelche anderen Überlegungen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage