python如何得到函数名

python如何得到函数名

作者:Joshua Lee发布时间:2026-01-05阅读时长:0 分钟阅读次数:22

用户关注问题

Q
如何在Python中获取当前函数的名称?

我想在Python代码中获取正在执行的函数名称,有什么方法可以实现吗?

A

使用inspect模块获取当前函数名

可以通过Python的inspect模块获取当前正在执行的函数名称。具体做法是先导入inspect模块,然后使用inspect.currentframe()函数获取当前栈帧,再通过f_code.co_name属性获取函数名。例如:

import inspect

def example_function():
    print(inspect.currentframe().f_code.co_name)

example_function()  # 输出: example_function
Q
运行时如何动态获取函数的名字?

是否有不依赖函数参数或硬编码,能动态获得函数自身名称的方式?

A

利用栈帧信息动态获取函数名称

在函数内部可以通过inspect模块查看当前执行的堆栈帧,从而动态获取函数名称。以inspect.currentframe().f_code.co_name即可获得当前函数的名字,这对调试或日志很有帮助。

Q
Python里如何打印调试函数名而无需手动输入?

在编写调试信息或日志时,怎样快速获得并打印函数名称,避免手动维护字符串?

A

通过inspect模块自动打印函数名

利用inspect模块中的currentframe函数获取当前函数的代码对象,再通过co_name属性获取函数名称,可以轻松打印调试信息,避免手动输入名字引起的不一致。例如:

import inspect

def debug_func():
    print(f"正在执行函数:{inspect.currentframe().f_code.co_name}")

debug_func()  # 输出: 正在执行函数:debug_func