91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-26 14:22:14 來源:腳本之家 閱讀:179 作者:kwsy2008 欄目:開發技術

本文實例主要是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獲取當前函數名稱方法實例分享的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灌云县| 太白县| 红桥区| 浦县| 沐川县| 山丹县| 普洱| 五大连池市| 齐河县| 新疆| 基隆市| 鹤山市| 奎屯市| 翁源县| 察隅县| 包头市| 北宁市| 沾化县| 登封市| 凤凰县| 施秉县| 镇雄县| 周至县| 阆中市| 莱州市| 平和县| 通州市| 中卫市| 宣威市| 长岛县| 永济市| 永川市| 登封市| 游戏| 衡东县| 固镇县| 韩城市| 旌德县| 民乐县| 临江市| 河南省|