import types

class Meta(type):
    registro = {}
    def __init__(cls, name, bases, dictionary):
        '''Inicializa o objeto classe'''

        assert hasattr(cls, 'funcaoImportante')
        assert isinstance(cls.funcaoImportante, types.UnboundMethodType)
        cls.registro[name] = cls

if __name__ == '__main__':

    __metaclass__ = Meta
    
    class X:
        def funcaoImportante(self):
            pass
    class Y:
        def funcaoImportante(self):
            pass
    print 'Classees registradas:', Meta.registro

    class Z:
        def funcaoQuaseImportante(self):
            pass

    


syntax highlighted by Code2HTML, v. 0.9.1