参考:https://blog.csdn.net/zhouchen1998/article/details/82933893
起因:在探究pytorch官方的fasterrcnn实现中发现使用装饰器。特意探究。
高阶函数
在python语言中,参数含有函数名的函数称之为高阶函数。(此时调用的函数不加参数,也就是说没有括号紧跟)
其实高阶函数的概念很简单,能接收函数作参数的函数就是高阶函数
装饰器是什么
装饰器 <== 高阶函数 + 嵌套函数
在不改变源代码的基础上扩展函数需要的新需求,这就是装饰器。(不改变函数源代码,这也是装饰器最基本的原则)
装饰器,它本身也就是一个函数,应用高阶函数实现。
使用时一般把被装饰的函数的内存地址当参数传入装饰器函数体,通过参数调用被装饰的函数,获得或者修改其属性。
装饰器的使用
一般认为