Mike Meyer wrote: [snip] > for name, value in kwargs.items(): > if name in ('a', 'list', 'of', 'valid', 'keywords'): > exec "%s = %s" % (name, value) > else: > raise ValueError, "Unrecognized keyword " + name > > Others will probably tell you that you really shouldn't be using exec.
What about using setattr? for name, value in kwargs.items(): if name in ('a', 'list', 'of', 'valid', 'keywords'): setattr(self, name, value) else: raise ValueError, "Unrecognized keyword " + name I'd probably turn the list of valid keywords into another dictionary to make it easy to specify default values for all the parameters as well. Cheers, Chris -- http://mail.python.org/mailman/listinfo/python-list