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脚本实现DNSPod DNS动态解析域名
Feb 14 Python
Python中DJANGO简单测试实例
May 11 Python
Python实现文件按照日期命名的方法
Jul 09 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
Python Web版语音合成实例详解
Jul 16 Python
详解PyTorch手写数字识别(MNIST数据集)
Aug 16 Python
python3 反射的四种基本方法解析
Aug 26 Python
Python装饰器用法与知识点小结
Mar 09 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
Python xpath表达式如何实现数据处理
Jun 13 Python
Python爬虫之Spider类用法简单介绍
Aug 04 Python
python识别围棋定位棋盘位置
Jul 26 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
2006/12/23 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
php验证码生成代码
2015/11/11 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
小试JQuery的AutoComplete插件
2011/05/04 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
python2.7实现爬虫网页数据
2018/05/25 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
2020/02/20 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
实习求职信
2013/12/01 职场文书
团日活动策划书
2014/02/01 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
实习指导教师评语
2014/12/30 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android