在处理复杂的 Python 代码时,获取调用方法的名称会很有用。称为特定方法。这可以帮助调试、分析和理解代码流。
实现此目的的一种方法是利用检查模块,特别是 getframeinfo 和 getouterframes 函数。这些函数提供有关调用堆栈中当前帧和前一帧的信息。
考虑以下示例:
def method1(self): ... a = A.method2() def method2(self): ...
如果我们想获取 method2 中的调用者(method1)的名称在不修改method1的情况下,我们可以使用下面的代码:
import inspect def f1(): f2() def f2(): curframe = inspect.currentframe() calframe = inspect.getouterframes(curframe, 2) print('caller name:', calframe[1][3]) f1()
这段代码使用当前帧来获取外帧,它代表了调用者方法。然后从外部框架的信息中提取函数名称。
需要注意的是,像这样的内省技术主要用于调试和开发目的。不建议依赖它们来实现生产关键型功能。
以上是Python中如何获取调用方法的名称?的详细内容。更多信息请关注PHP中文网其他相关文章!