如图,上面是函数,下面是函数的调用。 func3 = func1(1) 先给函数 func1 赋值了 1,然后传给 func3。 这里都能看懂,可为啥后面再给 func3 赋值 2 时,直接传入到 func1 的内部函数 func2 里? 我感觉应该还是传入到 func1(a) 里呀,咋就直接进入内部函数中了呢?
func1 最后一行是 return func2,func2 不加括号就是返回 func2 这个函数本体,所以执行 func3 = func1(1) 的时候相当于 func3 = func2,再执行 func3(2) 时等同于执行 func2(2)
python 里函数也是对象,可以用来作为参数传递和赋值,这里贴一个高阶函数的教程https://www.liaoxuefeng.com/wiki/1016959663602400/1017328525009056
OKOK,了解了,感觉大佬
恭喜你即将解锁 Python 装饰器
确实在研究 Python 装饰器时候解锁的这个问题