But, how can python know a function is a closure function and retain the required information ?. I didn't call the
multiplier
in make_multiplier_of
so python doesn't know that i'll use an enclosing scope's variable (because python runs the body code only when the function is called). So how can python still retain the value of n and didn't delete the name and the value (in this case because i don't have other reference to that value) as it usually does