logo

Pitón | ¿Cómo obtener el nombre de la función?

Uno de los estilos de codificación más destacados es seguir el paradigma OOP. Para ello, hoy en día, se ha hecho hincapié en escribir código con modularidad, aumentar la depuración y crear un código más robusto y reutilizable. Todo esto fomentó el uso de diferentes funciones para diferentes tareas y, por lo tanto, es probable que conozcamos ciertos trucos de funciones. Este artículo analiza cómo imprimir el nombre de una función. Analicemos ciertas formas en que esto se puede hacer.

Método 1: obtener el nombre de la función en Python usando function.__name__

Esta función se ha introducido en Python 3 en Python3.



Python3






# initializing function> def> GFG():> >return> 'You just called for success !!'> # printing function name> # using function.__name__> print>(>'The name of function is : '> +> GFG.__name__)>



>

>

Producción :

The name of function is : GFG>

Método 2: obtener el nombre de la función en Python usando function.func_name

Al utilizar una función de propiedad de función simple, func_name, se puede obtener el nombre de la función y, por lo tanto, puede ser muy útil para fines de prueba y, en ocasiones, también para documentación. El inconveniente es que esto funciona sólo para Python2.

Pitón

comprobar la versión de java en linux




# initializing function> def> GFG():> >return> 'You just called for success !!'> # printing function name> # using function.func_name> print>(>'The name of function is : '> +> GFG.func_name)>

ipconfig libre de Linux

>

>

Producción :

The name of function is : GFG>

Método 3: obtener el nombre de la función en Python usando el atributo __qualname__

__qualname__ brinda información más completa que __name__ y, por lo tanto, puede ser más útil en la depuración. Para extraer el nombre de cualquier objeto o clase, también puedes usar su atributo __qualname__.

Python3




def> Geekforgeeks():> >pass> class> Geekforgeeks(>object>):> >def> my_method(>self>):> >pass> # 'my_function'> print>(Geekforgeeks.__qualname__)> # 'My_Class.my_method'> print>(Geekforgeeks.my_method.__qualname__)>

>

>

Producción :

Geekforgeeks Geekforgeeks.my_method>

Método 4: obtener el nombre de la función en Python usando el módulo de inspección

Este código importa el módulo de inspección y define una función get_function_name() que devuelve el nombre de la función. La función utiliza la función inspect.currentframe () para obtener el objeto de marco de la función actual y luego devuelve el atributo co_name del atributo f_code del objeto de marco, que es el nombre de la función.

Sin señal de entrada

La función inspect.currentframe() devuelve un objeto de marco para el marco de la persona que llama. El objeto de marco es una instancia de la clase FrameInfo, que tiene varios atributos que proporcionan información sobre el marco, como el atributo f_code, que es el objeto de código para la función, y el atributo co_name, que es el nombre de la función.

Finalmente, el código imprime el nombre de la función usando la función get_function_name().

Python3




import> inspect> # initializing function> def> get_function_name():> ># get the frame object of the function> >frame>=> inspect.currentframe()> >return> frame.f_code.co_name> # printing function name> print>(>'The name of function is : '> +>get_function_name())># test_function> #This code is contributed by Edula Vinay Kumar Reddy>

>

>

Producción

The name of function is : get_function_name>

Este enfoque tiene una complejidad temporal de O(1) y un espacio auxiliar de O(1).