Lookup variable used in lambda : lambda « Function « Python Tutorial






def weird():
    spam = 42
    handler = (lambda: spam * 2)    
    spam = 50
    print handler()                 
    spam = 60
    print handler()                 
    
weird()








10.11.lambda
10.11.1.If a function body is a single return expression statement, you may choose to replace the function with the special lambda expression form
10.11.2.The lambda operator creates anonymous functions: lambda args : expression
10.11.3.Using lambda Functions: define one-line mini-functions on the fly
10.11.4.A lambda function squares the members of a sequence:
10.11.5.Anonymous Functions and lambda: lambda [arg1[, arg2, ... argN]]: expression
10.11.6.Define variable used by lambda function outside
10.11.7.Lookup variable used in lambda
10.11.8.Applying Functions to Arguments