Antoon Pardon <[EMAIL PROTECTED]> writes:
> I know what happens, I would like to know, why they made this choice.
> One could argue that the expression for the default argument belongs
> to the code for the function and thus should be executed at call time.
> Not at definion time. Just as other expressions in the function are
> not evaluated at definition time.
The idiom to get a default argument evaluated at call time with the
current behavior is:
def f(arg = None):
if arg is None:
arg = BuildArg()
What's the idiom to get a default argument evaluated at definition
time if it were as you suggested?
<mike
--
Mike Meyer <[EMAIL PROTECTED]> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
--
http://mail.python.org/mailman/listinfo/python-list