国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python獲取當前函數名稱方法實例分享

2020-01-04 16:09:29
字體:
來源:轉載
供稿:網友

本文實例主要是Python中獲取當前運行函數的名稱,具體如下。

python/76579.html">python/56869.html">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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 闽侯县| 宜城市| 凤冈县| 闻喜县| 鹤峰县| 普安县| 玉山县| 固镇县| 河津市| 高陵县| 仁怀市| 通山县| 营山县| 台东市| 张家口市| 牟定县| 鹰潭市| 晋宁县| 台南市| 涟源市| 紫云| 道真| 宜川县| 漳平市| 泰和县| 屏南县| 喀喇沁旗| 保康县| 滦平县| 乌苏市| 佛山市| 民勤县| 佛冈县| 察哈| 依安县| 陵水| 屏东市| 牡丹江市| 湖北省| 马鞍山市| 游戏|