Adam Skutt wrote:
\
This is a side-effect of writing code that relies on global variables.
Global variables are generally a bad idea. Global constants are fine.

Nope, the variables don't have to be global to have this problem, they
just have to be shared:

    >>> a = 3
    >>> b = lambda x: x + a

This is a pointless replacement for 'def b(x): return x+a'

    >>> print b(3)
    6
    >>> a = 4
    >>> print b(3)
    7

Passing any lambda

Python does not have lambda objects. It has lambda expressions that produce function objects identical except for .__name__ to the equivalent def statement output.

tjr

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to