在Python中,可以使用inspect
模块来获取函数名,以下是详细的步骤和示例代码:
1、导入inspect
模块
import inspect
2、定义一个函数
def my_function(): pass
3、使用inspect.currentframe()
获取当前帧
frame = inspect.currentframe()
4、使用frame.f_back
获取上一帧(即调用函数的帧)
caller_frame = frame.f_back
5、使用caller_frame.f_code
获取代码对象
code = caller_frame.f_code
6、使用code.co_name
获取函数名
function_name = code.co_name
7、打印函数名
print("Function name:", function_name)
将以上代码整合在一起:
import inspect def my_function(): frame = inspect.currentframe() caller_frame = frame.f_back code = caller_frame.f_code function_name = code.co_name print("Function name:", function_name) my_function()
运行上述代码,将输出:
Function name: <module>
这是因为在调用my_function
时,实际上是在全局作用域中调用的,所以返回的是模块名,如果要在特定函数内部获取该函数的名称,可以将上述代码放入该函数内部。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。