从python中的函数对象获取易于阅读的函数名称

时间:2014-05-22 19:15:47

标签: python function reflection naming

尝试在Python中获取函数名称,我想实现这样的目标:

def my_function():
    do_something...

def get_func_name(function):
    return magic(function)

>>> print get_func_name(my_function)
>>> my_function

应该怎么做?

非常感谢!

2 个答案:

答案 0 :(得分:4)

Python有一个神奇的属性__name__

def get_func_name(function):
    return function.__name__

答案 1 :(得分:3)

def my_function():
    pass

def get_func_name(function):
    try:
        # Python2
        return function.func_name
    except AttributeError:
        # Python3
        return function.__name__

print(get_func_name(my_function))