python如何获取函数名

python如何获取函数名

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

用户关注问题

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

我想在函数内部获取该函数的名称,有什么方法可以实现吗?

A

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

可以使用Python内置的inspect模块,通过inspect.currentframe()函数获取当前栈帧,然后使用f_code.co_name属性获得函数名。例如:

import inspect

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

demo_func()  # 输出 demo_func
Q
怎么通过函数对象获取它的名字?

已知一个函数对象,如何获取该函数的名称?

A

访问函数对象的__name__属性

在Python中,每个函数对象都有一个__name__属性,直接访问即可获得函数名称。例如:

def foo():
    pass

print(foo.__name__)  # 输出 foo
Q
有哪些方式可以在Python中打印调用函数的名字?

我想在函数执行时打印它的名称,有没有方便实用的方法?

A

结合inspect模块和__name__属性打印函数名

常见方法包括使用函数对象的__name__属性或者inspect模块获取调用栈信息。例如,使用inspect模块中的stack函数:

import inspect

def my_func():
    print(inspect.stack()[0].function)

my_func()  # 输出 my_func