logo

Python | Kako pridobiti ime funkcije?

Eden najvidnejših stilov kodiranja je sledenje paradigmi OOP. Za to je bil dandanes poudarek na pisanju kode z modularnostjo, povečanju odpravljanja napak in ustvarjanju robustnejše kode, ki jo je mogoče ponovno uporabiti. Vse to je spodbudilo uporabo različnih funkcij za različna opravila, zato moramo poznati določene vdore funkcij. Ta članek obravnava, kako natisniti ime funkcije. Pogovorimo se o nekaterih načinih, kako je to mogoče storiti.

1. način: pridobite ime funkcije v Pythonu z uporabo funkcije.__name__

Ta funkcija je bila uvedena v Python 3 v Python3.



Python3






kislinske lastnosti v dbms

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



>

>

Izhod:

The name of function is : GFG>

2. način: pridobite ime funkcije v Pythonu z uporabo function.func_name

Z uporabo preproste funkcije lastnosti funkcije, func_name, lahko dobite ime funkcije in je zato lahko precej priročna za namen testiranja in včasih tudi za dokumentacijo. Pomanjkljivost je, da to deluje samo za Python2.

Python




# 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)>

>

>

Izhod:

The name of function is : GFG>

3. način: pridobite ime funkcije v Pythonu z uporabo atributa __qualname__

__qualname__ daje popolnejše informacije kot __name__ in je zato lahko bolj koristno pri odpravljanju napak. Če želite izvleči ime iz katerega koli predmeta ali razreda, lahko uporabite tudi njegov atribut __qualname__.

Python3


gumb tkinter



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__)>

>

>

Izhod:

Geekforgeeks Geekforgeeks.my_method>

4. način: pridobite ime funkcije v Pythonu z uporabo modula inspect

Ta koda uvozi modul inspect in definira funkcijo get_function_name(), ki vrne ime funkcije. Funkcija uporablja funkcijo inspect.currentframe(), da pridobi okvirni objekt trenutne funkcije, nato pa vrne atribut co_name atributa f_code okvirnega objekta, ki je ime funkcije.

Funkcija inspect.currentframe() vrne objekt okvirja za okvir klicatelja. Objekt okvirja je primerek razreda FrameInfo, ki ima več atributov, ki zagotavljajo informacije o okvirju, kot je atribut f_code, ki je kodni objekt za funkcijo, in atribut co_name, ki je ime funkcije.

Končno koda natisne ime funkcije s funkcijo 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>

preimenuj imenik linux
>

>

Izhod

The name of function is : get_function_name>

Ta pristop ima časovno kompleksnost O(1) in pomožni prostor O(1).