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

 更新时间:2018年01月18日 14:21:28   作者:kwsy2008  
这篇文章主要介绍了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获取当前函数名称方法实例分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • TensorFlow实现批量归一化操作的示例

    TensorFlow实现批量归一化操作的示例

    这篇文章主要介绍了TensorFlow实现批量归一化操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)

    pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)

    这篇文章主要介绍了pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Python 爬虫学习笔记之多线程爬虫

    Python 爬虫学习笔记之多线程爬虫

    本文给大家介绍的是python基于XPath实现多线程爬虫的实例以及XPath的介绍安装和简单用法,非常的细致,有需要的小伙伴可以参考下
    2016-09-09
  • Python绘图示例程序中的几个语法糖果你知道吗

    Python绘图示例程序中的几个语法糖果你知道吗

    这篇文章主要为大家详细介绍了Python绘图示例程序中的几个语法糖果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • 利用Python绘制随机游走图的详细过程

    利用Python绘制随机游走图的详细过程

    随机游走(random walk)也称随机漫步,随机行走等,是以随机的方式采取连续步骤的过程,下面这篇文章主要给大家介绍了关于利用Python绘制随机游走图的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Python中Tkinter组件Listbox的具体使用

    Python中Tkinter组件Listbox的具体使用

    本文主要介绍了Python中Tkinter组件Listbox的具体使用,Listbox组件用于显示一个选择列表,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Python数据分析库pandas高级接口dt的使用详解

    Python数据分析库pandas高级接口dt的使用详解

    这篇文章主要介绍了Python数据分析库pandas高级接口dt的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 基于Python实现网页文章转PDF文档

    基于Python实现网页文章转PDF文档

    有时候看到一篇好的文章,想去保存下来,传统方式一般是收藏书签、复制粘贴到文档或者直接复制链接保存,但这也太麻烦了。本文将用Python语言实现将网上的文章转存为PDF文档,保存电脑上慢慢看
    2022-05-05
  • Python的化简函数reduce()详解

    Python的化简函数reduce()详解

    这篇文章主要介绍了Python的化简函数reduce()详解,reduce()函数即为化简函数,它的执行过程为:每一次迭代,都将上一次的迭代结果与下一个元素一同传入二元func函数中去执行,需要的朋友可以参考下
    2023-12-12
  • Python基础之数据结构详解

    Python基础之数据结构详解

    这篇文章主要介绍了Python基础之数据结构详解,文中有非常详细的代码示例,对正在学习python基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04

最新评论