闭包是什么(闭包是一个函数)

不管你是不是野路子 , 不管你基础扎实不扎实 , 这个问题 , 只要面试官问 , 自然会回答 。
试着问自己 , 你知道结束吗?
闭包是个什么东西?关于闭包 , 即一个函数的定义和表达式位于另一个函数的函数体中(嵌套函数) 。此外 , 这些内部函数可以访问所有局部变量、参数等 。在它们所在的外部函数中声明 。当这些内部函数中的一个在包含它们的外部函数之外被调用时 , 就会形成一个闭包 。
也就是说 , 内部函数会在外部函数返回后执行 。当这个内部函数被执行时 , 它仍然需要访问其外部函数和其他内部函数的局部变量参数 。
这些局部变量、参数和函数声明的值(最初)是由外部函数返回的 , 但它们也会受到内部函数的影响 。
函数的作用域大家可能都知道 , 当一个函数被执行时 , 函数会在内存中开辟空作为存放变量地址等的地方 。函数执行后 , 内存空将被释放 。
这里有一个非常奇怪的现象 。调用外部函数时 , 不释放原内存空 。为什么?
案例解析【闭包是什么(闭包是一个函数)】我们举个例子 。
#!/usr/bin/env pythondef outer(): str_value= "http://www.laomaozy.com/W-Z/I am variable of outer" def inner(): print(str_value) return inner#调用外部函数并执行f = outer()print(f)运行结果"C:\Program Files\Python38\python3.exe" D:/python/python_210710/exercise/闭包.py


    推荐阅读