Why don't optional mutable objects show up in vars(func)?
Sean Hammond
s0094060 at sms.ed.ac.uk
Wed Sep 27 13:22:27 EDT 2006
On Wed, 2006-09-27 at 09:32 -0700, dannycolligan at gmail.com wrote:
> So I just got bitten by the "don't use a mutable object as an optional
> argument" gotcha. I now realize that for this function:
>
> >>> def func(x, y=[]):
> ... y.append(x)
> ... print y
> ...
>
> y is initialized when the function is imported, not when the function
> is executed.
I thought it was initialised the first time the function gets called?
More information about the Python-list
mailing list