Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting an easily readable function name from a function object in python [duplicate]

Trying to get a function name in Python, I would like to achieve something like this:

def my_function():
    do_something...

def get_func_name(function):
    return magic(function)

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

How should this be done?

Thanks a lot!

like image 537
Juan Carlos Coto Avatar asked Dec 16 '25 11:12

Juan Carlos Coto


2 Answers

Python has a magical attribute __name__.

def get_func_name(function):
    return function.__name__
like image 126
Hans Then Avatar answered Dec 19 '25 05:12

Hans Then


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))
like image 42
unutbu Avatar answered Dec 19 '25 07:12

unutbu