Function Parameters

Oscar Benjamin oscar.j.benjamin at
Thu Dec 27 22:07:27 CET 2012

On 27 December 2012 20:47, Joseph L. Casale <jcasale at> wrote:
>> Don't use kwargs for this.  List out the arguments in the function
>> spec and give the optional ones reasonable defaults.
>> I only use kwargs myself when the set of possible arguments is dynamic
>> or unknown.
> Gotch ya, but when the inputs to some keywords are similar, if the function is called
> with two of three (which is valid) and the arg name isn't used, the assignment is order
> dependent and arbitrary in a sense and I can not distinguish.
> It would be nice if you could force the keyword to be mandatory to forgo the assumption
> in assignment like kwargs provides with gets. I suppose all the time wasted here is in vain
> as the caller could blunder elsewhere...

In Python 3 you can do this using keyword-only arguments like so (note
the asterisk that separates keyword arguments from positional

def my_func(self, *, some_key=MISSING, another_key=MISSING):


More information about the Python-list mailing list