如何在Python中检索调用者的方法名称而不修改调用者方法?

Barbara Streisand
发布: 2024-11-17 21:23:02
原创
499 人浏览过

How can I retrieve the caller's method name in Python without modifying the caller method?

在 Python 中检索调用者的方法名称

在处理多级函数调用时,访问方法名称会很有用调用方法。这可以在被调用的方法中提供有价值的上下文。本文探讨了如何在 Python 中检索调用者的方法名称,避免对调用者方法进行任何修改。

利用 Inspect

Python 检查模块提供了几个用于访问的函数有关呼叫者的信息。 spect.getframeinfo() 和相关函数使我们能够导航帧堆栈并检索相关信息。

实现

下面是如何使用检查的演示:

import inspect

def f1():
    f2()

def f2():
    curframe = inspect.currentframe()
    calframe = inspect.getouterframes(curframe, 2)
    print('caller name:', calframe[1][3])

f1()
登录后复制

在此示例中,使用 calframe 变量在 f2 函数中检索调用者姓名。 calframe1 的值包含调用者的名称(在本例中为 f1)。

注意

需要注意的是,内省虽然对于调试和开发很有用,不应依赖于与生产相关的目的。其结果可能会受到多种因素的影响,在关键情况下应谨慎对待。

以上是如何在Python中检索调用者的方法名称而不修改调用者方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板