def wurk():
    print(i)
for i in range(4):
    wurk()
Despite being declared before the for loop, wurk() can still be bound to i. How does this runtime binding work? I think one related question is here
def wurk():
    print(i)
for i in range(4):
    wurk()
Despite being declared before the for loop, wurk() can still be bound to i. How does this runtime binding work? I think one related question is here
