python筆記19-獲取當前運行函數名稱和類方法名稱


前言

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

獲取函數名稱

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM