Sorry, nevermind. I think I misunderstood the idea. On Thu, Sep 6, 2018 at 9:56 AM Todd <toddr...@gmail.com> wrote:
> I have encountered situations like this, and generally I just use **kwargs > for non-critical and handle the parameter management in the body of the > function. > > This also makes it easier to pass the arguments to another function. You > can use a dict comprehension to copy over the keys you want, then unpack > them as arguments to the next function. > > On Thu, Sep 6, 2018 at 6:16 AM Anders Hovmöller <bo...@killingar.net> > wrote: > >> I have a working implementation for a new syntax which would make using >> keyword arguments a lot nicer. Wouldn't it be awesome if instead of: >> >> foo(a=a, b=b, c=c, d=3, e=e) >> >> we could just write: >> >> foo(*, a, b, c, d=3, e) >> >> and it would mean the exact same thing? This would not just be shorter >> but would create an incentive for consistent naming across the code base. >> >> So the idea is to generalize the * keyword only marker from function to >> also have the same meaning at the call site: everything after * is a kwarg. >> With this feature we can now simplify keyword arguments making them more >> readable and concise. (This syntax does not conflict with existing Python >> code.) >> >> The full PEP-style suggestion is here: >> https://gist.github.com/boxed/f72221e7e77370be3e5703087c1ba54d >> >> I have also written an analysis tool you can use on your code base to see >> what kind of impact this suggestion might have. It's available at >> https://gist.github.com/boxed/610b2ba73066c96e9781aed7c0c0b25c . The >> results for django and twisted are posted as comments to the gist. >> >> We've run this on our two big code bases at work (both around 250kloc >> excluding comments and blank lines). The results show that ~30% of all >> arguments would benefit from this syntax. >> >> Me and my colleague Johan Lübcke have also written an implementation that >> is available at: https://github.com/boxed/cpython >> >> / Anders Hovmöller >> _______________________________________________ >> Python-ideas mailing list >> Python-ideas@python.org >> https://mail.python.org/mailman/listinfo/python-ideas >> Code of Conduct: http://python.org/psf/codeofconduct/ >> >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/