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

Reply via email to