mutable default parameter problem [Prothon]
Mark Hahn
mark at hahnca.com
Fri Jun 25 20:46:31 EDT 2004
Christian Tismer wrote:
>> 2) Evaluate the default expression once at each call time when the
>> default value is needed. The default expression would be evaluated
>> in the context of the function definition (like a closure).
>
>> Comments? How much Python code would these different proposals
>> break?
>
> I think not so very much.
> The default mutable parameters have been abused to keep
> class-like state. Default parameters in general have also been
> used to speed up object lookup on certain speed contests.
>
> Both usages are obsolete, since the same effect can be
> achieved with a local function sitting in a scope,
> from where it can use mutables it it needs to.
>
> So I don't see many remaining advantages, and I think it is
> a good idea to make the defaults less sticky.
>
> +1 for 2)
I'm glad you voted that way because I implemented #2 a few days ago :-o
Not that I couldn't change it.
More information about the Python-list
mailing list