之前学过c 这段python可不可以这样理解?

这个叫闭包。 https://zh.m.wikipedia.org/zh-hans/闭包_(计算机科学)第一个被返回的函数捕获的是for循环内的变量i,会被for循环改变。第二个被返回的函数捕获的是f函数内的变量j,没有被改变。至于实际的实现我就不太清楚了,语义是这个样子的。R大@RednaxelaFX有很多关于这方面的回答,感兴趣的话可以关注一波。
■网友
经典闭包问题。函数上下文捕获同一个变量i,所以虽然生产三个函数,但三个函数返回同样的结果。
■网友
没上机实操过,第一段代码,看似闭包实则不知所云,应该输出了一个空列表?第二段代码,闭包,但为什么要开辟三次次存储空间而不将函数用循环调用呢---------第一次用分割线------------其实可以用列表解析a=这样pythonic 很多,也很装逼
■网友
为什么把简单的东西复杂化。。。第一个加个参数就好了,不然全是3*3def(i =i)第二个不知是否可行,但好麻烦


    推荐阅读