闭包函数介绍
闭包函数就是给函数体传参的一种方式,函数嵌套也就是在函数中定义另一个函数。
闭包函数的特点
闭:定义在函数内部的函数
包:就是内部函数引用了外部函数中的变量
因为作用域的原因,在外层函数无法拿到内层函数中的变量和内部函数。所以当需要使用时,要将函数名作为
变量名返回。这是闭包最常用的方式。
闭包函数使用
给函数传参的方式有俩种,分别为用形参和闭包
1. 形参
def index(a):
print('from index', a)
2. 闭包
def outer(name):
def inner():
print(name)
return inner
x = outer('XWenXiang')
x()
(1) 代码执行后首先在第一行定义函数 outer() 并定义形参 name
(2) 第二步调用函数 outer() 并传入实参 XWenXiang
(3) 第三步执行函数 outer() 函数体代码,定义函数 inner() ,返回值 inner,inner也就是函数
inner的内存地址
(4) 第四步将函数 outer() 返回值赋值给 x 。
(5) 第五步调用函数 x() 因为此时 x 等价与 inner 的内存地址。