[Python-Dev] keyword-only arguments and varags

Benjamin Peterson benjamin at python.org
Sun Jun 5 18:31:44 CEST 2011


2011年6月5日 Nick Coghlan <ncoghlan at gmail.com>:
> 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.

Thank you. More proof I shouldn't write emails after 22:00 local time.
>> 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

Move along, nothing to see here...
-- 
Regards,
Benjamin


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /