Een van de meest prominente codeerstijlen is het volgen van het OOP-paradigma. Hiervoor ligt de nadruk tegenwoordig op het schrijven van code met modulariteit, het vergroten van debuggen en het creëren van een robuustere, herbruikbare code. Dit alles moedigde het gebruik van verschillende functies voor verschillende taken aan, en daarom zijn we gebonden aan bepaalde hacks van functies. In dit artikel wordt besproken hoe u de naam van een functie kunt afdrukken. Laten we bepaalde manieren bespreken waarop dit kan worden gedaan.
Methode 1: Functienaam ophalen in Python met function.__name__
Deze functie is geïntroduceerd 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__)> |
>
>
Uitgang:
The name of function is : GFG>
Methode 2: Haal de functienaam op in Python met behulp van function.func_name
Door een eenvoudige functie-eigenschapsfunctie, func_name, te gebruiken, kan men de naam van de functie achterhalen en kan daarom behoorlijk handig zijn voor testdoeleinden en soms ook voor documentatie. Het nadeel is dat dit alleen voor Python2 werkt.
Python
a-b snoeien
# 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)> |
>
>
Uitgang:
The name of function is : GFG>
Methode 3: Haal de functienaam op in Python met behulp van het kenmerk __qualname__
De __qualname__ geeft completere informatie dan __name__ en kan daarom nuttiger zijn bij het debuggen. Om de naam van een object of klasse te extraheren, kunt u ook het attribuut __qualname__ gebruiken.
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__)> |
>
>
Uitgang:
Geekforgeeks Geekforgeeks.my_method>
Methode 4: Haal de functienaam op in Python met behulp van de inspectiemodule
Deze code importeert de inspectiemodule en definieert een functie get_function_name() die de naam van de functie retourneert. De functie gebruikt de functie inspect.currentframe() om het frame-object van de huidige functie op te halen en retourneert vervolgens het co_name-attribuut van het f_code-attribuut van het frame-object, wat de naam van de functie is.
De functie inspect.currentframe() retourneert een frameobject voor het frame van de aanroeper. Het frameobject is een instantie van de klasse FrameInfo, die verschillende attributen heeft die informatie over het frame verschaffen, zoals het f_code attribuut, dat het codeobject voor de functie is, en het co_name attribuut, dat de naam van de functie is.
Ten slotte drukt de code de naam van de functie af met behulp van de functie 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> |
>
>Uitvoer
centos versus roodhoed
The name of function is : get_function_name>
Deze benadering heeft een tijdscomplexiteit van O(1) en een hulpruimte van O(1).