[Python-ideas] Keyword only argument on function call
mertz at gnosis.cx
Sat Sep 8 08:45:11 EDT 2018
A finer grained analysis tool would be helpful. I'm -0 on the idea because
I believe it would discourage more expressive names in calling contexts in
order to enable the proposed syntax. But I also see a big difference
between cases where all keywords match calling names and cases where only a
few of them do.
I.e. this is probably a small win:
# function (a=a, b=b, c=c, d=d)
function(*, a, b, c, d)
But this feels like it invites confusion and bugs:
# function (a=my_a, b=b, c=my_c, d=d)
function(*, a=my_a, b, c=my_c, d)
I recognize that if the syntax were added it wouldn't force anyone to use
the second version... But that means no one who WRITES the code. As a
reader I would certainly have to parse some of the bad uses along with the
I know these examples use simplified and artificial names, but I think the
case is even stronger with more realistic names or expressions.
On Sat, Sep 8, 2018, 8:24 AM Anders Hovmöller <boxed at killingar.net> wrote:
> To me, the "30% of all arguments" deserves more careful examination.
> Does the proposal significant improve the reading and writing of this
> code? And are there other, perhaps better, ways of improving this
> Maybe my tool should be expanded to produce more nuanced data? Like how
> many of those 30% are:
> - arity 1,2,3, etc? (Arity 1 maybe should be discarded as being counted
> unfairly? I don’t think so but some clearly do)
> - matches 1 argument, 2,3,4 etc? Matching just one is of less value than
> matching 5.
> Maybe some other statistics?
> / Anders
> Python-ideas mailing list
> Python-ideas at python.org
> Code of Conduct: http://python.org/psf/codeofconduct/
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-ideas