On Sun, Jun 5, 2011 at 11:45 AM, Benjamin Peterson <benja...@python.org> wrote:
> Currently,
>
> def f(*, kw, **kwargs): pass
>
> is valid syntax, but
>
> def f(*args, *, kw): pass
>
> is not.
>
> I don't see any mention of it in the PEP but perhaps there is a good
> reason this isn't allowed. It seems to be perfectly well-defined to
> me.

Really? There's two single-stars there. One says "accept arbitrary
positional arguments and place them in a tuple named args", the second
says "don't accept any more positional args". You can't have it both
ways, so the compiler complains.

The following works fine to mix keyword-only arguments with arbitrary
positional arguments, so I don't see a problem:

def f(*args, kw): pass

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to