想问问老师关于环境变量的一些事。

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

Pre_Y

2019-02-06

第一次编写Python的闭包题,有点懵啊。

这是我第一次编写的内容:
(虽然能实现目标,但不能称之为闭包。闭包是函数加环境变量,我的pos应该不能称之为环境变量)
(事实上调用 .closure 来验证也可以看出它不是闭包,因为打印出的是None,这里就不贴图了)
图片描述

老师的写法:
图片描述

其实将实参pos拿到函数体中,也可以得到与老师相同的结果,而且与之前课程举的例子相承接,更容易理解。orgin也可以不用定义,直接在函数体里让pos = 0作为初值。图片描述

直接运行结果也与老师代码相同图片描述

我主要的疑惑就是作为实参传入函数作为环境变量和将函数内部元素作为环境变量这两者在运行的时候有哪些区别?

写回答

1回答

7七月

2019-02-11

我觉得理解闭包只需要理解一点,就是所谓闭包就是函数没有执行完,函数里的变量还存在,还可以使用并没有释放。但如果只是简单的函数调用,那么函数里的变量在执行完后就有可能被释放。

0
0

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

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

14687 学习 · 4484 问题

查看课程