Creating dynamic objects with dynamic constructor args

Robert Bossy Robert.Bossy at
Tue Mar 25 17:12:50 CET 2008

Greg at wrote:
> I'd like to create objects on the fly from a pointer to the class 
> using:  instance = klass()  But I need to be able to pass in variables 
> to the __init__ method.  I can recover the arguments using the 
> inspect.argspec, but how do I call __init__ with a list of arguments 
> and have them unpacked to the argument list rather than passed as a 
> single object?
> ie. class T:
> 	def __init__(self, foo, bar):
> = foo
> = bar
> argspec = inspect.argspec(T.__init__)
> args = (1, 2)
> ??? how do you call T(args)?
The star operator allows you to do this:

You also can use dict for keyword arguments using the double-star operator:

class T(object):
    def __init__(self, foo=None, bar=None): = foo = bar

kwargs = {'bar': 1, 'foo': 2}


More information about the Python-list mailing list