A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2010-April/099435.html below:

[Python-Dev] Very Strange Argument Handling Behavior

[Python-Dev] Very Strange Argument Handling Behavior [Python-Dev] Very Strange Argument Handling BehaviorGuido van Rossum guido at python.org
Fri Apr 16 16:33:28 CEST 2010
On Fri, Apr 16, 2010 at 7:15 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> Mark Dickinson wrote:
>> "dict(x, **y)" as an expression version of x.update(y) seems to be
>> fairly well known[1], so disallowing non-string keyword arguments
>> seems likely to break existing code, as well as (probably?) harming
>> performance.  So I can't see CPython changing here.  I'm not sure
>> whether other implementations should be required to follow suit,
>> though---maybe this should be regarded as an implementation-defined
>> detail?
>
> I would agree with leaving it implementation defined - I don't think
> either PyPy or CPython should be forced to change their current
> behaviour in relation to this. A minor note in the language reference to
> that effect may be worthwhile just to make that stance official.

That is just going to cause some programs to have a portability
surprise. I think one or the other should be fixed. I am fine with
declaring dict({}, **{1:3}) illegal, since after all it is abuse of
the ** mechanism. We should deprecate it in at least one version
though.

-- 
--Guido van Rossum (python.org/~guido)
More information about the Python-Dev mailing list

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