Don't know about this particular case but sometimes, I don't want to have a default argument value. That is, argument not there is different from argument = None. Though in general, I prefer the None as special meaning coding style. But even python's builtin function prefers to distinguish between "not there" and None.
Alex Martelli wrote: > [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > ... > > def foo(**kwargs): > > expected_form1_kwargs = ["arg1", "arg2"] > > > > for name in expected_form1_kwargs: > > if name not in kwargs: > > kwargs[name]=None > > > > for name in kwargs: > > if name in kwargs and name not in expected_form1_kwargs: > > raise ValueError, "Unrecognized keyword: " + name > > > > print kwargs > > I find this style of coding repulsive when compared to: > > def foo(arg1=None, arg2=None): > print dict(arg1=arg1, arg2=arg2) > > I don't understand what added value all of those extra, contorted lines > are supposed to bring to the party. > > > Alex -- http://mail.python.org/mailman/listinfo/python-list