系列文章目录
前言
在进行机器学习或者深度学习的时候,有时候有不同的更新策略也就是函数。在进行多次实验的时候,需要自动将执行测策略记录下来,也就用到获取函数名称这一个功能。
一、inspect是什么?
在Python中,你可以使用内置的inspect
模块来获取当前执行的语句所在的函数名称。这个模块提供了许多有用的函数来获取活动对象的信息,比如模块、类、方法、函数、堆栈帧、代码对象等。
二、使用步骤
1.引入库
代码如下(示例):
import inspect
2.读入数据
代码如下(示例):
def my_function():
# 注意:inspect.stack()返回一个堆栈帧列表,当前帧是列表的第一个元素
# 我们通常对第二个元素(即调用者)感兴趣
stack = inspect.stack()
if len(stack) > 1:
# 获取调用者的信息
caller_info = stack[1]
print(f"Called by function: {caller_info.code_context[0]}")
# 注意:由于currentframe()和stack()在优化模式下可能不可用,
# 并且它们会增加额外的调用开销,因此请谨慎使用。
# 调用函数以测试
my_function()
输入结果为:
Called by function: my_function()