python 的闭包
我们先来看一个函数
def lazy_sum(*args): def sum(): ax=0 for n in args: ax=ax+n return ax return sum #调用 f=lazy_sum(1,2,3,4,5) f #<function __main__.lazy_sum.<locals>.sum()> f() #可以这样调用 lazy_sum(1,2,3,4,5)() #也可以这样调用
闭包(Closure):在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包
注意:返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量
文章参考廖雪峰老师官网:https://www.liaoxuefeng.com/wiki/1016959663602400/1017434209254976