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

猜你喜欢

转载自www.cnblogs.com/yoyoketang/p/9231320.html