请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

讲闭包时候提到环境变量不能在函数内重新赋值,本例中pos作为环境变量为什么可以被new_pos重新赋值?

origin = 0

def factory(pos):
    def go(step):
        nonlocal pos
        new_pos = pos + step
        pos = new_pos
        return new_pos
    return go


正在回答 回答被采纳积分+3

1回答

7七月 2018-05-11 18:15:41

pos是一个参数,不是环境变量呀。

0 回复 有任何疑惑可以回复我~
  • 老师可以详细解释一下为什么pos是一个参数,而不是环境变量呢?那闭包中的环境变量又是哪个呢?
    回复 有任何疑惑可以回复我~ 2020-01-13 01:12:01

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信