如何从另一个生成新的函数名称

时间:2017-04-26 08:20:39

标签: python

让我们举个例子。 如果我们有一个函数def f(func): ...,其中func是一个与函数对应的参数。 如果我们进行以下调用f(merge),我想返回另一个可以随后执行的函数名称(不是文本)merge_ext

我已经确定了使用语法my_function.__name__提取函数名称的事实,但是如何生成可以用作函数的新函数名?

1 个答案:

答案 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)

现在,您可以访问这两个功能。