Python获取当前函数名称方法实例分享


Posted in Python onJanuary 18, 2018

本文实例主要是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 相关文章推荐
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
Jan 17 Python
Python logging模块学习笔记
May 24 Python
Python删除空文件和空文件夹的方法
Jul 14 Python
Python数据类型学习笔记
Jan 13 Python
python+pandas生成指定日期和重采样的方法
Apr 11 Python
PyQT实现多窗口切换
Apr 20 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
python hough变换检测直线的实现方法
Jul 12 Python
python使用 request 发送表单数据操作示例
Sep 25 Python
python构造IP报文实例
May 05 Python
python数字图像处理:图像简单滤波
Jun 28 Python
Python AES加密实例解析
Jan 18 #Python
快速了解python leveldb
Jan 18 #Python
Python实现动态图解析、合成与倒放
Jan 18 #Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 #Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
Jan 18 #Python
python中requests和https使用简单示例
Jan 18 #Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 #Python
You might like
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
php简单统计字符串单词数量的方法
2015/06/19 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
javascript void(0)的妙用
2009/10/21 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
python使用递归解决全排列数字示例
2014/02/11 Python
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
解决python线程卡死的问题
2019/02/18 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
Python callable内置函数原理解析
2020/03/05 Python
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
教育专业个人求职信
2013/12/02 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
部队党性分析材料
2014/02/16 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
作风建设年度心得体会
2014/10/29 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
MYSQL 运算符总结
2021/11/11 MySQL