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 相关文章推荐
Python 命令行非阻塞输入的小例子
Sep 27 Python
python操作 hbase 数据的方法
Dec 18 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
python3实现表白神器
Apr 09 Python
Python字符串内置函数功能与用法总结
Apr 16 Python
不到20行代码用Python做一个智能聊天机器人
Apr 19 Python
Python3列表List入门知识附实例
Feb 09 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
Jan 15 Python
关于Python中*args和**kwargs的深入理解
Aug 07 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
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
pycharm 使用心得(四)显示行号
2014/06/05 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
数据管理员的自我评价分享
2013/11/15 职场文书
大学活动总结格式
2014/04/29 职场文书
项目建议书模板
2014/05/12 职场文书
文员求职信
2014/07/15 职场文书
企业授权委托书范本
2014/09/22 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
医院员工辞职信范文
2015/05/12 职场文书
小孩不笨观后感
2015/06/03 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL