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

Reply via email to