[EMAIL PROTECTED] 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): > self.foo = foo > self.bar = bar > > argspec = inspect.argspec(T.__init__) > args = (1, 2) > > ??? how do you call T(args)? > The star operator allows you to do this: T(*args)
You also can use dict for keyword arguments using the double-star operator: class T(object): def __init__(self, foo=None, bar=None): self.foo = foo self.bar = bar kwargs = {'bar': 1, 'foo': 2} T(**kwargs) RB -- http://mail.python.org/mailman/listinfo/python-list