[Python-Dev] PEP 457: Syntax For Positional-Only Parameters

Glenn Linderman v+python at g.nevcal.com
Wed Oct 9 19:25:53 CEST 2013


On 10/9/2013 7:45 AM, Anders J. Munch wrote:
>
> Larry Hastings wrote:
>
> > I look forward to an alternate suggestion.  This is the least-bad
>
> > thing I could come up with.
>
> How about a naming convention instead, where using a leading
>
> underscore in a parameter name is a hint that it is positional-only.
>
> For example, the docstring of sorted:
>
> sorted(iterable, key=None, reverse=False) --> new sorted list
>
> would become:
>
> sorted(_iterable, key=None, reverse=False) --> new sorted list
>
> It seems more intuitive than the slash, and requires no change to the
>
> toolchain.
>
> Although, it may collide slightly with code that uses a leading
>
> underscore to indicate "implementation detail" for a parameter with a
>
> default value, but a quick scan of the std. lib. suggests that that's
>
> very rare.
>
> regards, Anders
>

So, to avoid that collision, use two leading underscores... a private 
name for the parameter which can't be specified in the call, similar to 
private class members that can't (without extreme difficulty) be 
specified in a reference outside the class.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20131009/6c4f36e9/attachment.html>


More information about the Python-Dev mailing list