本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
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:
1 2 3 4 | def func () : pass print name(func) |
这将打印"func"。
这是简单的。
1 | print func.__name__ |
编辑:但是你必须小心:
1 2 3 4 5 6 7 8 | >>> def func(): ... pass ... >>> new_func = func >>> print func.__name__ func >>> print new_func.__name__ func |
还有更多的方法:
1 2 3 4 5 6 7 8 9 | >>> def foo(arg): ... return arg[::-1] >>> f = foo >>> f.__name__ 'foo' >>> f.func_name 'foo' >>> f.func_code.co_name 'foo' |
使用
例子:
1 2 3 4 5 6 7 | def foobar(): pass bar = foobar print foobar.__name__ # prints foobar print bar.__name__ # still prints foobar |
有关python内省的概述,请查看http://docs.python.org/library/inspect.html