编程语言
首页 > 编程语言> > 如何在Python中获取函数的名称(以及它的模块)?

如何在Python中获取函数的名称(以及它的模块)?

作者:互联网

试图在Python中获取函数的全名. this question about function names指定应使用__name__字段来获取函数名称.但是,对于这种特殊情况,需要全名:包含它的模块加上函数的名称.

这样做的目的是通过同一项目中的不同程序访问功能.

例:

# file /my/project/funcs.py
def fun_1(a):
    ...
# Looking for a function like this:

def get_fun_name(function):
    ...

>>> get_fun_name(fun_1)
my.project.funcs.fun_1

正如您所看到的,理想的答案是打印出hte模块以及作为参数提供的函数对象的功能.

非常感谢!任何帮助肯定会受到赞赏!

解决方法:

怎么样

def get_fun(fn):
    return '.'.join([fn.__module__, fn.__name__])

(参见例如http://docs.python.org/2/reference/datamodel.html)

标签:python,function,module,python-import,introspection
来源: https://codeday.me/bug/20190825/1719623.html