On Wed, Mar 26, 2014 at 5:53 PM, Anthony <
lifesi...@gmail.com> wrote:
> I've yet to test it but I read a few people stating to use lambdas
> variables/properties. Is it definitely the case that it will only evaluate
> once?
from the python docs (2.7):
Default parameter values are evaluated when the function definition is
executed. This means that the expression is evaluated once, when the
function is defined, and that the same “pre-computed” value is used
for each call. This is especially important to understand when a
default parameter is a mutable object, such as a list or a dictionary:
if the function modifies the object (e.g. by appending an item to a
list), the default value is in effect modified. This is generally not
what was intended. A way around this is to use None as the default,
and explicitly test for it in the body of the function.
--
Javier