让我们举个例子。
如果我们有一个函数def f(func): ...
,其中func
是一个与函数对应的参数。
如果我们进行以下调用f(merge)
,我想返回另一个可以随后执行的函数名称(不是文本)merge_ext
。
我已经确定了使用语法my_function.__name__
提取函数名称的事实,但是如何生成可以用作函数的新函数名?
答案 0 :(得分:0)
看起来你好像是在装饰者之后。
装饰器是一个将函数作为参数并返回函数的函数。简单的例子:
def simple_decorator(func):
return func
您可以将其与@
语法一起使用:
@simple_decorator
def decorated_function(some_arg):
return something
在这种情况下,调用function
会调用调用simple_decorator(function)
返回的函数,这意味着您无法再访问原始function
。
但这也可以这样表达:
def no_yet_decorated_function(some_arg):
return something
decorated_function = simple_decorator(no_yet_decorated_function)
现在,您可以访问这两个功能。