python获取函数名

Posted Circle-C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python获取函数名相关的知识,希望对你有一定的参考价值。

获取函数名

python中获取函数名的情况分为内部、外部

外部

从外部的情况好获取,使用指向函数的对象,然后用__name__属性

def a():

  pass

a.__name__

除此之外还可以使用getattr:

getattr(a,'__name__')

内部

使用sys模块的方法

def a():
  print sys._getframe().f_code.co_name

f_code和co_name可以参考python源码解析的pyc生成和命名空间章节。

 使用修饰器的方法

 

def timeit(func):
    def run(*argv):
       print func.__name__
       if argv:
            ret = func(*argv)
       else:
            ret = func()
       return ret
    return run

@timeit
def t(a):
    print a 
t(1)

以上是关于python获取函数名的主要内容,如果未能解决你的问题,请参考以下文章

python获取函数名类名

使用python获取该函数内的当前函数名

Python如何获取到当前函数名和通过字符串调用函数

python装饰器内获取函数有用信息方法

Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释

python 获取文件后缀名