Python获取当前函数名称方法实例分享
2019/7/13 22:22:21
本文主要是介绍Python获取当前函数名称方法实例分享,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文实例主要是Python中获取当前运行函数的名称,具体如下。
python 具有强大的自省能力,在函数运行时,可以在函数内部获取到当前所在的函数名称,请看示例代码
#coding=utf-8 import sys import inspect def my_name(): print '1' ,sys._getframe().f_code.co_name print '2' ,inspect.stack()[0][3] def get_current_function_name(): print '5', sys._getframe().f_code.co_name return inspect.stack()[1][3] class MyClass: def function_one(self): print '3',inspect.stack()[0][3] print '4', sys._getframe().f_code.co_name print "6 %s.%s invoked"%(self.__class__.__name__, get_current_function_name()) if __name__ == '__main__': my_name() myclass = MyClass() myclass.function_one()
示例演示了两种获取当前所在函数名称的方法,一种是用sys内置模块,一种是使用inspect模块。运行结果如下:
1 my_name 2 my_name 3 function_one 4 function_one 5 get_current_function_name 6 MyClass.function_one invoked
sys.getframe().f_code.co_name 方法永远获取当前所在的函数名称,inspect.stack()方法相对更灵活一些,在get_current_function_name函数中,sys获取的函数名称是get_cu
rrent_function_name,而inspect方法返回的结果是function_one。inspect.stack记录了当前的栈内信息,想进一步了解可以打印inspect.stack()信息。
我在function_one函数中调用了get_current_function_name,因此inspect.stack()返回的list中的第一个元组是有关get_current_function_name信息的,
第二个元组才是function_one的相关信息。
总结
以上就是本文关于Python获取当前函数名称方法实例分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
这篇关于Python获取当前函数名称方法实例分享的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程