Terry Reedy wrote:
> There are two subproposals: first, keyword-only args after a variable
> number of positional args, which requires allowing keyword parameter
> specifications after the *args parameter, and second, keyword-only args
> after a fixed number number of positional args, implemented with a naked
> '*'. To the first, I said "The rationale for this is pretty obvious.". To
> the second, I asked, and still ask, "Why?".
I see two possible reasons:
- A function's author believes that calls to the function will be
easier to read if certain parameters are passed by name, rather
than positionally; and they want to enforce that calling
convention on their users. This seems to me to go against the
"consenting adults" principle.
- A function's author believes they might change the signature in the
future to accept new positional arguments, and they will want to put
them before the args that they declare keyword-only.
Both of these motivations seem fairly weak. Certainly, neither seems to
warrant a significant change to function definition syntax.
But perhaps there are other use cases that I'm failing to consider.
Anyone know of any?
-Edward
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com