[Python-Dev] PEP 3102: Keyword-only arguments (original) (raw)
Terry Reedy tjreedy at udel.edu
Mon May 1 03:08:57 CEST 2006
- Previous message: [Python-Dev] PEP 3101: Advanced String Formatting
- Next message: [Python-Dev] PEP 3102: Keyword-only arguments
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Nick Coghlan" <ncoghlan at gmail.com> wrote in message news:44549922.7020109 at gmail.com...
Terry Reedy wrote:
"Talin" <talin at acm.org> wrote in message news:4453B025.3080100 at acm.org...
Now, suppose you wanted to have 'key' be a keyword-only argument.
Why? Why not let the user type the additional argument(s) without the parameter name?
Like Martin, you clipped most of the essential context of my question: Talin's second proposal.
The second syntactical change is to allow the argument name to be omitted for a varargs argument: def compare(a, b, *, key=None): The reasoning behind this change is as follows. Imagine for a moment a function which takes several positional arguments, as well as a keyword argument: def compare(a, b, key=None):
Again I ask, why would one want that? And, is the need for that so strong as to justify introducing '*' as a pseudoparameter?
Because for some functions (e.g. min()/max()) you want to use *args, but support some additional keyword arguments to tweak a few aspects of the operation (like providing a "key=x" option).
This and the rest of your 'explanation' is about Talin's first proposal, to which I already had said "The rationale for this is pretty obvious".
Terry Jan Reedy
- Previous message: [Python-Dev] PEP 3101: Advanced String Formatting
- Next message: [Python-Dev] PEP 3102: Keyword-only arguments
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]