Jednym z najbardziej znanych stylów kodowania jest paradygmat OOP. W tym celu obecnie nacisk położony jest na pisanie kodu z modułowością, zwiększenie liczby debugowań i utworzenie solidniejszego kodu nadającego się do ponownego użycia. Wszystko to zachęcało do używania różnych funkcji do różnych zadań, dlatego z pewnością znamy pewne triki związane z funkcjami. W tym artykule omówiono sposób drukowania nazwy funkcji. Omówmy pewne sposoby, w jakie można to zrobić.
Metoda 1: Uzyskaj nazwę funkcji w Pythonie za pomocą funkcji.__name__
Ta funkcja została wprowadzona w Pythonie 3 w Pythonie3.
przykład przycinania alfa beta
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__)> |
>
>
Wyjście :
The name of function is : GFG>
Metoda 2: Uzyskaj nazwę funkcji w Pythonie za pomocą funkcji.nazwa_funkcji
Używając prostej właściwości funkcji, nazwa_funkcji, można uzyskać nazwę funkcji, co może być bardzo przydatne do celów testowych, a czasami także do dokumentacji. Wadą jest to, że działa to tylko w przypadku Python2.
Pyton
referencyjne typy danych w Javie
# 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)> |
>
>
Wyjście :
The name of function is : GFG>
Metoda 3: Uzyskaj nazwę funkcji w Pythonie za pomocą atrybutu __qualname__
__qualname__ daje pełniejsze informacje niż __name__ i dlatego może być bardziej pomocny w debugowaniu. Aby wyodrębnić nazwę z dowolnego obiektu lub klasy, możesz także użyć jego atrybutu __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__)> |
>
>
Wyjście :
vlc pobieraj filmy z YouTube'a
Geekforgeeks Geekforgeeks.my_method>
Metoda 4: Uzyskaj nazwę funkcji w Pythonie za pomocą modułu inspekcji
Ten kod importuje moduł inspect i definiuje funkcję get_function_name(), która zwraca nazwę funkcji. Funkcja używa funkcji inspect.currentframe() do pobrania obiektu ramki bieżącej funkcji, a następnie zwraca atrybut co_name atrybutu f_code obiektu ramki, który jest nazwą funkcji.
Funkcja inspect.currentframe() zwraca obiekt ramki dla ramki obiektu wywołującego. Obiekt ramki jest instancją klasy FrameInfo, która ma kilka atrybutów dostarczających informacji o ramce, takich jak atrybut f_code, który jest obiektem kodu funkcji, oraz atrybut co_name, który jest nazwą funkcji.
Na koniec kod wypisuje nazwę funkcji za pomocą funkcji get_function_name().
Python3
ciąg za długi
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> |
>
>Wyjście
The name of function is : get_function_name>
Podejście to ma złożoność czasową O(1) i przestrzeń pomocniczą O(1).