关于python:在函数中引用函数的__name__的最好和一般的方法是什么?

what is the best and general way to refer a function's __name__ in a function?

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

Possible Duplicate:
How do I get the name of a function or method from within a Python function or method?

下面的代码函数返回它的名称。它可以工作,但我仍然需要在__name__前面指定"测试"。有没有一般的方法来引用__name__

1
2
def test():
   print test.__name__


如果我理解正确-检查是你要找的。

1
2
3
import inspect
def test():
    print inspect.stack()[0][3]

如果不使用backtrace,就无法访问python函数中的函数名。

1
2
3
4
5
6
7
8
In [1]: import inspect

In [2]: def test():
   ...:     print inspect.stack()[0][3]
   ...:

In [3]: test()
test

所以,您想要使用的是inspect.stack()[0][3],或者,如果您想将它移动到一个单独的函数中,inspect.stack()[1][3]

(如何从python函数或方法中获取函数或方法的名称?)