class Meta(type):
    def __new__(metacls, name, bases, dic):
        print 'new: ', metacls, name, bases
        if name == 'Z':
            # X tem que estar definido quando esse codigo rodar!'
            return X
        return super(Meta, metacls).__new__(metacls, name, bases, dic)

if __name__ == '__main__':
    __metaclass__ = Meta

    class X:
        pass
    class Y(X):
        pass
    class Z:
        pass
    print 'Z', Z
    assert Z is X


syntax highlighted by Code2HTML, v. 0.9.1