如何从Python中的函数中提取函数的名称?

时间:2014-06-06 20:37:13

标签: python

假设我有一个我定义的功能:

def command("filename", function, error):

对于'功能'我可以输入以下两个函数之一:

def linear:
    return x

def exponential:
    return e**x

我想将图形保存在依赖于所用函数的名称下。所以图的名称将是这样的:filename_function.jpg

此命令为plt.savefig(filename_+????+'.png')

如何输入保存文件中使用的特定功能的名称?

因此,如果我的命令是command("hello.txt", linear, error),那么我的保存文件应为hello_linear.png

更新:谢谢大家。我是Python的新手,我想我发现自己陷入了无意义的方法,可以非常简单地实现。答案是function.__name__完全一样。

2 个答案:

答案 0 :(得分:1)

函数是对象并具有属性:只需使用function.__name__

答案 1 :(得分:1)

使用神奇的inspect模块:

def foo():
    return inspect.currentframe().f_code.co_name

foo()
=> 'foo'