functions, list, default parameters

Steven D'Aprano steve at
Fri Oct 29 10:41:33 CEST 2010

On Fri, 29 Oct 2010 21:24:23 +1300, Gregory Ewing wrote:

> John Nagle wrote:
>> On 10/21/2010 2:51 PM, Chris Rebert wrote:
>>> This is a common newbie stumbling-block: Don't use lists (or anything
>>> mutable) as default argument values
>>     That really should be an error.
> No, it shouldn't. The criterion isn't whether the object is mutable, but
> whether you actually mutate it. If you treat it as read-only, there's no
> problem.

And how does Python know whether some arbitrary default object is mutable 
or not?

> Since not all Python data types have immutable variants, sometimes it's
> necessary to do this.

And sometimes you want the behaviour as it is.


More information about the Python-list mailing list