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