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