origin = 0
def factory(pos):
def go(step):
nonlocal pos
new_pos = pos + step
pos = new_pos
return new_pos
return go
tourist = factory(origin)
print(tourist(2))
print(tourist(3))
print(tourist(6))
我脑子卡住了,总觉得tourist(2),这个2应该是pos啊,怎么就变成step了呢?
go()这里也没调用嘛
前面讲的函数作用域链的课,以及前面点的“一个实例看闭包”课程中 嵌套的函数都要调用一下的,这里为何不需要调用一下?
这个地方不理解了,麻烦老师、同学帮忙解答一下,非常感谢!