[Python-Dev] Very Strange Argument Handling Behavior

Benjamin Peterson benjamin at python.org
Fri Apr 16 23:14:25 CEST 2010


2010/4/16 Raymond Hettinger <raymond.hettinger at gmail.com>:
>
>>> Guido van Rossum, 16.04.2010 16:33:
>>>>
>>>> I am fine with
>>>> declaring dict({}, **{1:3}) illegal, since after all it is abuse of
>>>> the ** mechanism.
>
> ISTM that making it illegal costs cycles with giving any real benefit.
> It is reasonably common to accept **kwds and then pass it down
> to another function.  Do we want to validate the keys of every
> kwds dict on every call?  Why do we even care?
>
> If I'm understanding the proposal correctly, it means that
> every existing application using **kwds will pay a price, either
> by breaking (because it uses non-string keys) or by running
> slower (so that every call can be checked to make sure it
> didn't use string keys).

We already pay that price for any Python function, so I'm not sure
what difference adding to C, too, makes.



-- 
Regards,
Benjamin


More information about the Python-Dev mailing list