首页 > 其他 > 详细

打印函数名

时间:2019-07-10 10:38:30      阅读:95      评论:0      收藏:0      [点我收藏+]

从内部取

def a():
    print("hello")
print(a.__name__)
print(a.__getattribute__('__name__'))
print(getattr(a,'__name__'))

通过sys模块

import sys
def a():
    print(sys._getframe().f_code.co_name) # f_code和co_name可以参考python源码解析的pyc生成和命名空间章节
a()

通过inspect模块

import inspect
def get_current_function_name():
    return inspect.stack()[1][3]

class MyClass:
    def function_one(self):
        print("%s.%s invoked" % (self.__class__.__name__, get_current_function_name()))

if __name__ == "__main__":
    myclass = MyClass()
    myclass.function_one()

打印函数名

原文:https://www.cnblogs.com/liehen2046/p/11162246.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!