我知道这看起来很蹩脚,但我希望有一个函数可以访问它自己的名称来打印错误或调试消息。那么就很容易有一个标准的方法来开始打印输出:
print(__myname__,"is reporting the following..."
我更喜欢这样,而不是每次都必须明确键入名称,因为我经常 想要剪切和粘贴此类内容,并且我希望任何名称更改都是自动的,从而更加正确。
这类似于 another question但我想要当前函数的名称,而不是其调用者的名称。
我注意到这个特殊的名字
__name__
这里报告的是包的名称,而不是函数的名称。
最佳答案
您可以使用traceback
模块来提取堆栈信息:
import traceback
def current_function_name():
return traceback.extract_stack()[-2][2]
def foo():
print current_function_name()
>>> foo()
foo
关于python - 如何找到当前函数的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52488094/