functions, list, default parameters

John Nagle nagle at animats.com
Thu Oct 21 22:53:53 EDT 2010


On 10/21/2010 2:51 PM, Chris Rebert wrote:
> On Thu, Oct 21, 2010 at 2:36 PM, Sean Choi<gnemnk at gmail.com>  wrote:
>> I found two similar questions in the mailing list, but I didn't understand
>> the explanations.
>> I ran this code on Ubuntu 10.04 with Python 2.6.5.
>> Why do the functions g and gggg behave differently? If calls gggg(3) and
>> g(3) both exit their functions in the same state, why do they not enter in
>> the same state when I call gggg(4) and g(4)?
>>
>> # ---------------------------------------------------------------------- my
>> code:
>> def gggg(a, L=[]):
>
> This is a common newbie stumbling-block: Don't use lists (or anything
> mutable) as default argument values

     That really should be an error.

					John Nagle



More information about the Python-list mailing list