def multiple_closures(n): functions = [] for i in range(n): def inner(x): return x+i functions.append(inner) print(inner, "Returned", inner(10), inner.__closure__[0]) return functions functions = multiple_closures(3) print([f(10) for f in functions])