可能重复:
How do I get the name of a function or method from within a Python function or method?
How to get the function name as string in Python?
我有一个名为 func 的函数,我希望能够将函数名称作为字符串。
pseudo-python:
def func () :
pass
print name(func)
这将打印'func'。
答案 0 :(得分:17)
这很简单。
print func.__name__
编辑:但你必须小心:
>>> def func():
... pass
...
>>> new_func = func
>>> print func.__name__
func
>>> print new_func.__name__
func
答案 1 :(得分:2)
使用__name__
。
示例:
def foobar():
pass
bar = foobar
print foobar.__name__ # prints foobar
print bar.__name__ # still prints foobar
有关使用python进行内省的概述,请查看http://docs.python.org/library/inspect.html
答案 2 :(得分:2)
还有几种方法可以做到:
>>> def foo(arg):
... return arg[::-1]
>>> f = foo
>>> f.__name__
'foo'
>>> f.func_name
'foo'
>>> f.func_code.co_name
'foo'