在python中将函数名称作为字符串获取

rec*_*gle 4 python function introspection

可能重复:
如何从Python函数或方法中获取函数或方法的名称?
如何在Python中将函数名称作为字符串?

我有一个名为func的函数,我希望能够将函数名称作为字符串.

伪python:

def func () :
    pass

print name(func)
Run Code Online (Sandbox Code Playgroud)

这将打印'func'.

Uma*_*ang 17

这很简单.

print func.__name__
Run Code Online (Sandbox Code Playgroud)

编辑:但你必须小心:

>>> def func():
...     pass
... 
>>> new_func = func
>>> print func.__name__
func
>>> print new_func.__name__
func
Run Code Online (Sandbox Code Playgroud)

  • 另外,一个方便的提示:像你这样的简单问题很容易通过使用`dir`内置函数来回答.例如``dir(func)`返回一个列表,其中"__name __"作为其中一项. (9认同)