def ClassFactory(name, argnames, BaseClass=BaseClass):

    def __init__(self, **kwargs):
        for key, value in list(kwargs.items()):
            if key not in argnames:
                raise TypeError('Argument %s not valid for %s' % (key, self
                    .__class__.__name__))
setattr(self, key, value)
BaseClass.__init__(self, name[:-len('Class')])
newclass = type(name, (BaseClass,), {'__init__': __init__})
return newclass
Как я могу динамически создавать производные классы из базового класса