Message75114
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. |
|
Date |
User |
Action |
Args |
2008-10-22 21:52:18 | Pasha2009 | set | recipients:
+ Pasha2009 |
2008-10-22 21:52:18 | Pasha2009 | set | messageid: <1224712338.02.0.509740184342.issue4181@psf.upfronthosting.co.za> |
2008-10-22 21:52:17 | Pasha2009 | link | issue4181 messages |
2008-10-22 21:52:16 | Pasha2009 | create | |
|