在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。(相当于给内部函数起别名)。
实现规则:
定义内部函数
外部函数必须有返回值,而且返回值必须为内部函数对象
#outer()是外部函数,a、b都是外函数的临时变量
def outer(a):
b=10
def inner(c):#内函数
print(a+b+c)#内函数中用到了外函数的临时变量
return inner #外函数的返回值是内函数的引用
if __name__=='__main__':
demo=outer(5)#调用外部函数outer,实质是获取了内部函数的引用
demo(3)#调用内部函数inner
输出18