user_image
By  多浪的河流    On   2020年12月5日 20:48

本质是被装饰函数名的引用发生改变。被@outer这种语法糖装饰后,outer找了一个临时的func变量储存原被装饰函数的指向/引用,在inne函数中执行func函数(此时func函数指向被装饰的原函数)并添加其它功能,inner返回func指向的原函数的返回值,outer返回inner函数引用,此时原函数指向/引用inner函数。