
python如何获取函数名
用户关注问题
如何在Python中动态获取当前函数的名称?
我想在函数内部获取该函数的名称,有什么方法可以实现吗?
使用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
怎么通过函数对象获取它的名字?
已知一个函数对象,如何获取该函数的名称?
访问函数对象的__name__属性
在Python中,每个函数对象都有一个__name__属性,直接访问即可获得函数名称。例如:
def foo():
pass
print(foo.__name__) # 输出 foo
有哪些方式可以在Python中打印调用函数的名字?
我想在函数执行时打印它的名称,有没有方便实用的方法?
结合inspect模块和__name__属性打印函数名
常见方法包括使用函数对象的__name__属性或者inspect模块获取调用栈信息。例如,使用inspect模块中的stack函数:
import inspect
def my_func():
print(inspect.stack()[0].function)
my_func() # 输出 my_func