New submission from Pasha <[EMAIL PROTECTED]>: 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. ---------- components: Interpreter Core files: default_argument_dictionary_bug.py messages: 75114 nosy: Pasha2009 severity: normal status: open title: Invalid Behavior When a Default Argument is a Dictionary. type: behavior versions: Python 2.5 Added file: http://bugs.python.org/file11861/default_argument_dictionary_bug.py _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue4181> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com