[Python-ideas] optional parameters
Yury Selivanov
yselivanov.ml at gmail.com
Wed Apr 16 19:09:48 CEST 2014
Hello,
There is a very common pattern for creating optional arguments
when you can't use None:
_optional = object()
def foo(*, arg1='spam', arg3=None, arg4=_optional):
if arg4 is _optional:
# caller didn't pass *anything* for arg4
else:
# caller did pass some (maybe None) value for arg4
It's a bit annoying to create this marker objects, and also,
if you try to render a signature of such function, you'll get
something like:
"(*, arg1='spam', arg3=None, arg4=<object object at 0x104be7080>)"
What if we add a standard marker for this use-case:
functools.optional or inspect.Parameter.optional?
Yury
More information about the Python-ideas
mailing list