logo

Pitone | Come ottenere il nome della funzione?

Uno degli stili di codifica più importanti segue il paradigma OOP. Per questo, al giorno d’oggi, lo stress è stato quello di scrivere codice con modularità, aumentare il debugging e creare un codice più robusto e riutilizzabile. Tutto ciò ha incoraggiato l'uso di funzioni diverse per compiti diversi, e quindi siamo tenuti a conoscere alcuni hack di funzioni. In questo articolo viene illustrato come stampare il nome di una funzione. Discutiamo alcuni modi in cui ciò può essere fatto.

Metodo 1: ottieni il nome della funzione in Python usando function.__name__

Questa funzione è stata introdotta in Python 3 in 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__)>



>

normalizzazione nel database

>

Produzione :

The name of function is : GFG>

Metodo 2: ottieni il nome della funzione in Python usando function.func_name

Utilizzando una semplice funzione di proprietà della funzione, func_name, è possibile ottenere il nome della funzione e quindi può essere molto utile per scopi di test e, a volte, anche per la documentazione. Lo svantaggio è che funziona solo per Python2.

Pitone




stringa formattata c
# 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)>

>

>

età di mia khalifa

Produzione :

The name of function is : GFG>

Metodo 3: ottieni il nome della funzione in Python utilizzando l'attributo __qualname__

__qualname__ fornisce informazioni più complete di __name__ e pertanto può essere più utile nel debug. Per estrarre il nome da qualsiasi oggetto o classe, puoi anche utilizzare il suo attributo __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__)>

>

>

Produzione :

Geekforgeeks Geekforgeeks.my_method>

Metodo 4: ottieni il nome della funzione in Python utilizzando il modulo inspect

puntatore in c

Questo codice importa il modulo inspect e definisce una funzione get_function_name() che restituisce il nome della funzione. La funzione utilizza la funzione inspect.currentframe() per ottenere l'oggetto frame della funzione corrente, quindi restituisce l'attributo co_name dell'attributo f_code dell'oggetto frame, che è il nome della funzione.

La funzione inspect.currentframe() restituisce un oggetto frame per il frame del chiamante. L'oggetto frame è un'istanza della classe FrameInfo, che dispone di diversi attributi che forniscono informazioni sul frame, come l'attributo f_code, che è l'oggetto codice per la funzione, e l'attributo co_name, che è il nome della funzione.

Infine, il codice stampa il nome della funzione utilizzando la funzione get_function_name().

Python3




funzione statica in Java
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>

>

>

Produzione

The name of function is : get_function_name>

Questo approccio ha una complessità temporale di O(1) e uno spazio ausiliario di O(1).