logo

Python | Hvordan få funksjonsnavn?

En av de mest fremtredende stilene for koding er å følge OOP-paradigmet. For dette, i dag, har stress vært å skrive kode med modularitet, øke feilsøkingen og lage en mer robust, gjenbrukbar kode. Alt dette oppmuntret til bruk av forskjellige funksjoner for forskjellige oppgaver, og derfor er vi nødt til å kjenne til visse hack av funksjoner. Denne artikkelen diskuterer hvordan du skriver ut navnet på en funksjon. La oss diskutere visse måter dette kan gjøres på.

Metode 1: Få funksjonsnavn i Python ved hjelp av funksjon.__navn__

Denne funksjonen er introdusert i Python 3 i Python3.



Python3


inneholder i streng





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



>

>

Utgang:

som full form
The name of function is : GFG>

Metode 2: Få funksjonsnavn i Python ved å bruke function.func_name

Ved å bruke en enkel funksjonsegenskapsfunksjon, func_name, kan man få navnet på funksjonen og kan derfor være ganske nyttig for testformålet og også for dokumentasjon til tider. Ulempen er at dette fungerer bare for 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)>

>

>

Utgang:

The name of function is : GFG>

Metode 3: Få funksjonsnavn i Python ved å bruke attributtet __qualname__

__qualname__ gir mer fullstendig informasjon enn __name__ og kan derfor være mer nyttig ved feilsøking. For å trekke ut navnet fra et hvilket som helst objekt eller klasse, kan du også bruke attributtet __qualname__.

Python3

statisk funksjon i java




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

>

>

Utgang:

Geekforgeeks Geekforgeeks.my_method>

Metode 4: Få funksjonsnavn i Python ved å bruke inspeksjonsmodulen

Denne koden importerer inspeksjonsmodulen og definerer en funksjon get_function_name() som returnerer navnet på funksjonen. Funksjonen bruker funksjonen inspect.currentframe() for å hente frame-objektet til gjeldende funksjon, og returnerer deretter co_name-attributtet til f_code-attributtet til frame-objektet, som er navnet på funksjonen.

Funksjonen inspect.currentframe() returnerer et rammeobjekt for rammen til den som ringer. Frame-objektet er en forekomst av FrameInfo-klassen, som har flere attributter som gir informasjon om rammen, for eksempel f_code-attributtet, som er kodeobjektet for funksjonen, og co_name-attributtet, som er navnet på funksjonen.

Til slutt skriver koden ut navnet på funksjonen ved å bruke funksjonen get_function_name().

Python3

datastrukturer 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>

>

sorter en arraylist i java
>

Produksjon

The name of function is : get_function_name>

Denne tilnærmingen har en tidskompleksitet på O(1) og et hjelperom på O(1).