如何找到当前函数的名称?

2024-04-20 06:24:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道它看起来很蹩脚,但我希望有一个函数可以访问它自己的名称来打印错误或调试消息。这样就很容易有一个标准的方式开始打印输出:

print(__myname__,"is reporting the following..."

我更喜欢这样,因为我经常 想剪切和粘贴这样的东西,我希望任何名称的变化是自动的,从而更有力地正确。你知道吗

这与another question类似,但我想要的是当前函数的名称,而不是调用方的名称。你知道吗

我注意到这个特别的名字

__name__

在这里,报告的是包的名称,而不是函数的名称。你知道吗


Tags: the函数名称消息标准is粘贴错误
1条回答
网友
1楼 · 发布于 2024-04-20 06:24:25

您可以使用traceback模块提取堆栈信息:

import traceback

def current_function_name():
    return traceback.extract_stack()[-2][2]    

def foo():
    print current_function_name()

>>> foo()
foo

相关问题 更多 >