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