前言
寫完代碼之后,一般為了方便查看日志,可以在日志輸出中加入當前運行的函數名稱或類和方法名稱,以便於代碼報錯的時候能快速找到報錯的是哪個函數或方法。
那么如何獲取當前運行函數(或方法)的名稱呢?
獲取函數名稱
1.在函數外部獲取函數名稱,用.__name__獲取

2.函數內部獲取當前函數名稱,用sys._getframe().f_code.co_name方法獲取

類和方法名稱獲取
1.獲取類名稱self.class.name

2.獲取類里面方法名稱,跟獲取函數名稱一樣sys._getframe().f_code.co_name)

inspect模塊
1.使用inspect模塊動態獲取當前運行的函數名(或方法名稱)
# coding:utf-8
import inspect
def get__function_name():
'''獲取正在運行函數(或方法)名稱'''
return inspect.stack()[1][3]
def yoyo():
print("函數名稱:%s"%get__function_name())
class Yoyo():
def yoyoketang(self):
'''# 上海-悠悠 QQ群:588402570'''
print("獲取當前類名稱.方法名:%s.%s" % (self.__class__.__name__, get__function_name()))
if __name__ == "__main__":
yoyo()
Yoyo().yoyoketang()
運行結果:
函數名稱:yoyo
獲取當前類名稱.方法名:Yoyo.yoyoketang
python自動化交流 QQ群:779429633
