This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Pasha2009
Recipients Pasha2009
Date 2008-10-22.21:52:15
SpamBayes Score 2.7893352e-08
Marked as misclassified No
Message-id <1224712338.02.0.509740184342.issue4181@psf.upfronthosting.co.za>
In-reply-to
Content
Whenever the default argument to a function is a dictionary, and the
function is called twice, then the function "remembers" the changes to
the dictionary. 

This means that any time that a default argument is set to a dictionary,
a list or any other built in data structure, it cannot be relied upon to
correctly do the right thing. 

I assume this is actually two issues:

1) The default arguments are not being garbage collected after the
function is done. You can check that by using a __del__ tracker 

2) the argument is at the same memory location at all times. 

I have seen this on Python 2.5.2, however its highly possible other
parts are affected as well.
History
Date User Action Args
2008-10-22 21:52:18Pasha2009setrecipients: + Pasha2009
2008-10-22 21:52:18Pasha2009setmessageid: <1224712338.02.0.509740184342.issue4181@psf.upfronthosting.co.za>
2008-10-22 21:52:17Pasha2009linkissue4181 messages
2008-10-22 21:52:16Pasha2009create