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

本问题已经有最佳答案,请猛点这里访问。

假设我有一个定义好的函数:

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

至于"函数",我可以输入以下两个函数之一:

1
2
3
4
5
def linear:
    return x

def exponential:
    return e**x

我想根据所使用的函数将图形保存在一个名称下。figure的名称应该是这样的:filename_function.jpg

它的命令是plt.savefig(filename_+????+'.png')

如何将特定函数的名称输入到保存的文件中?

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

更新:谢谢大家。我是Python的新手,我想我陷入了一些无意义的方法中,而这些方法可以非常简单地实现。答案是function.__name__


使用魔法检查模块:

1
2
3
4
5
def foo():
    return inspect.currentframe().f_code.co_name

foo()
=> 'foo'

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