[Python-ideas] Keyword only argument on function call
Anders Hovmöller
boxed at killingar.net
Fri Sep 7 07:06:20 EDT 2018
> I must say I like the idea of being able to write it the way you propose.
> Sometimes we make a function only to be called once at a specific location,
> more because of factoring out some functions for clarity. Been doing that
> myself lately for scripting, and I think it'd increase clarity. However,
> it's really alike to f(a, b, c), which does something totally different. It
> -might- become something of a newb trap, as myfunc(*, a, b, c) would be
> 100% equal to myfunc(*, c, a, b) but that's not true for the f(c, a, b)
> case.
>
I've seen beginners make the mistake of calling f(c, a, b) and being
confused why it doesn't work the way they expected, so I think the newb
trap might go in the other direction. If by "newb" one means "totally new
to programming" then I think the keyword style is probably less confusing
but if you come from a language with only positional arguments (admittedly
most languages!) then the trap goes in the other direction.
Of course, I don't have the resources or time to make a study about this to
figure out which is which, but I agree it's an interesting question.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180907/7658cc1b/attachment.html>
More information about the Python-ideas
mailing list