闭包是什么(闭包是一个函数)
不管你是不是野路子 , 不管你基础扎实不扎实 , 这个问题 , 只要面试官问 , 自然会回答 。
试着问自己 , 你知道结束吗?
闭包是个什么东西?关于闭包 , 即一个函数的定义和表达式位于另一个函数的函数体中(嵌套函数) 。此外 , 这些内部函数可以访问所有局部变量、参数等 。在它们所在的外部函数中声明 。当这些内部函数中的一个在包含它们的外部函数之外被调用时 , 就会形成一个闭包 。
也就是说 , 内部函数会在外部函数返回后执行 。当这个内部函数被执行时 , 它仍然需要访问其外部函数和其他内部函数的局部变量参数 。
这些局部变量、参数和函数声明的值(最初)是由外部函数返回的 , 但它们也会受到内部函数的影响 。
函数的作用域大家可能都知道 , 当一个函数被执行时 , 函数会在内存中开辟空作为存放变量地址等的地方 。函数执行后 , 内存空将被释放 。
这里有一个非常奇怪的现象 。调用外部函数时 , 不释放原内存空 。为什么?
案例解析【闭包是什么(闭包是一个函数)】我们举个例子 。
#!/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
推荐阅读
- 舌苔是什么(舌苔正常的是什么样子图片)
- 内存是什么(电脑内存一般是多少)
- 皮蛋是什么蛋(一天吃六个皮蛋会怎样)
- 六种麒麟都是什么麒麟(麒麟的种类和等级)
- 打印机卡纸是什么原因(热敏打印机卡纸是什么原因)
- 网贷通讯录是哪里拿去的(现在的网贷还会爆通讯录)
- 溶豆是什么(婴儿溶豆品牌前十名是)
- 副主任科员是什么级别(主任科员一二三四级)
- 三位一体是什么意思(浙江三位一体后悔)
- 宇宙之外是什么世界(宇宙外面的世界是什么样子的)