概念:function decorator 是一个返回函数的的函数(high order function, function return function)
技术用途:在不改变函数的代码的情况下,修改函数的执行行为。
基本的结构:
function_decorator(function):
...
def innner(params_pass_to_function):
...
function(params_pass_to_function)
...
...
return inner
@function_decoarator
def function(params):
function(params)
等效于:
f=function_decorator(function)
f(params)
如果修饰器需要有而外的参数传给inner,可以如下定义:
def function_decorator(function,param_pass_to_inner):
def actual_decorator(function):
def innner(params_pass_to_function):
...
#params_pass_to_inner is visible to inner
function(params_pass_to_function)
...
...
return inner
return actual_decorator
@function_decorator(params_pass_to_inner)
function(params)
等效于:
f=function_decorator(params_pass_to_inner)(function)
更详细的文章见:点击打开链接
本文介绍了函数装饰器的概念及其技术用途,即在不改变原始函数代码的前提下,通过高阶函数实现对函数执行行为的修改。同时提供了装饰器的基本结构示例,并展示了如何为装饰器传递额外参数。
505

被折叠的 条评论
为什么被折叠?



