I have a small python script where a variable inside a lambda function (which is inside another function) does not take any value from somewhere but still the script works and I can not understand why. Below I have my code, a is the mysterious variable. I know that for some reason it works but I don't know why.
def myfunc(n):
return lambda a : a * n <== a variable takes value from where???
mydoubler = myfunc(2)
print(mydoubler(11))