> <venting> > FOR THE LOVE OF MIKE can someone tell me even one reason why this > isn't a misfeature?!?! > </venting>
:-) Its the only sane way to implement default arguments. The whole point of function definitions is that they provide a single concise interface. The function should return the same result each time you call it with the same input. The only way to achieve that is to have the default calculated once. The problem is that the default value can be a mutable object (and that aspect could be argued as a mis-feature) which leads to apparently different behaviour for the same input as the recent thread illustrated. But in fact the same object is being returnd its just the internal content that changes... And of course this behaviour is exploited regularly in Python in the same way that static variables are exploited in C. But I agree that it can be confusing when the default is mutable but since the only reasonable option would have been to restrict default values to immutable types I think I prefer the confusion... Alan G. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor