Should Python raise a warning for mutable default arguments?
Diez B. Roggisch
deets at nospam.web.de
Fri Aug 22 10:49:46 EDT 2008
Steven D'Aprano schrieb:
> Sometimes it seems that barely a day goes by without some newbie, or not-
> so-newbie, getting confused by the behaviour of functions with mutable
> default arguments. No sooner does one thread finally, and painfully, fade
> away than another one starts up.
>
> I suggest that Python should raise warnings.RuntimeWarning (or similar?)
> when a function is defined with a default argument consisting of a list,
> dict or set. (This is not meant as an exhaustive list of all possible
> mutable types, but as the most common ones that I expect will trip up
> newbies.) The warning should refer to the relevant FAQ or section in the
> docs.
I just suggested a documentation enhancement in one of the plethora of
threads... so I'm certainly +1 for any enhancement in this area.
Diez
More information about the Python-list
mailing list