On Sat, 29 Dec 2007 09:50:53 -0800, bukzor wrote: > I've found some bizzare behavior when using mutable values (lists, > dicts, etc) as the default argument of a function.
This FAQ is so Frequently Asked that I sometimes wonder if Python should, by default, print a warning when it compiles a function with a list or dict as as default value. There's precedence for such a thing: the sum() built-in (un)helpfully raises an exception if you try to use it on strings. I say unhelpfully because the one time I wanted to use sum() on strings was specifically to demonstrate the difference between O(n**2) behaviour and O(n). I was quite put out that Python, which normally allows you to shoot yourself in the foot if you insist, was so unnecessarily protective in this case. Give me a warning, if you wish, but don't stop me. -- Steven -- http://mail.python.org/mailman/listinfo/python-list