Is it explicitly specified?

mario ruggier mario at
Sun Feb 3 12:00:22 CET 2008

Is there any way to tell between whether a keyword arg has been explicitly
specified (to the same value as the default for it) or not... For example:

def func(key=None):
    do something with key

But the following two usages give same results:


It may sometimes be useful to make use of the conceptual difference between
these two cases, that is that in one case the user did not specify any key
and in the other the user explicitly specified the key to be None.

Is there any way to tell this difference from within the called function?
And if so, would there be any strong reasons to not rely on this
difference? Would it be maybe a little abusive of what a keyword arg
actually is?


More information about the Python-list mailing list