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

来源:11-16 再用闭包解决一下_

慕莱坞4103370

2018-05-11

origin = 0

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


写回答

1回答

7七月

2018-05-11

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

0
1
我是小白请您多多指教
老师可以详细解释一下为什么pos是一个参数,而不是环境变量呢?那闭包中的环境变量又是哪个呢?
2020-01-13
共1条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14598 学习 · 4470 问题

查看课程