On Sun, Jun 5, 2011 at 11:45 AM, Benjamin Peterson <benjamin at 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 | ncoghlan at gmail.com | Brisbane, Australia
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4