Closures in Python capture variables, not values
def random_function(s):
print(s)
letters = []
for s in ["a", "b", "c"]:
letters.append((s, lambda : random_function(s)))
for url, f in letters:
f()c
c
cdef random_function(s):
print(s)
letters = []
for s in ["a", "b", "c"]:
letters.append((s, lambda s=s: random_function(s)))
for url, f in letters:
f()Last updated