L'un des styles de codage les plus importants consiste à suivre le paradigme POO. Pour cela, de nos jours, l’accent a été mis sur l’écriture de code modulaire, l’augmentation du débogage et la création d’un code plus robuste et réutilisable. Tout cela a encouragé l'utilisation de différentes fonctions pour différentes tâches, et nous sommes donc obligés de connaître certains hacks de fonctions. Cet article explique comment imprimer le nom d'une fonction. Discutons de certaines façons dont cela peut être fait.
Méthode 1 : obtenir le nom de la fonction en Python à l'aide de function.__name__
Cette fonction a été introduite dans Python 3 dans Python3.
comment trier une liste de tableaux en Java
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__)> |
>
>
Sortir :
The name of function is : GFG>
Méthode 2 : obtenir le nom de la fonction en Python à l'aide de function.func_name
En utilisant une simple fonction de propriété de fonction, func_name, on peut obtenir le nom de la fonction et peut donc être très pratique à des fins de test et aussi parfois pour la documentation. L'inconvénient est que cela ne fonctionne que pour Python2.
Python
services Web Java
# 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)> |
>
>
Sortir :
The name of function is : GFG>
Méthode 3 : obtenir le nom de la fonction en Python à l'aide de l'attribut __qualname__
Le __qualname__ donne des informations plus complètes que __name__ et peut donc être plus utile pour le débogage. Pour extraire le nom de n'importe quel objet ou classe, vous pouvez également utiliser son attribut __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__)> |
>
>
Sortir :
jframe
Geekforgeeks Geekforgeeks.my_method>
Méthode 4 : obtenir le nom de la fonction en Python à l'aide du module inspect
Ce code importe le module inspect et définit une fonction get_function_name() qui renvoie le nom de la fonction. La fonction utilise la fonction inspect.currentframe() pour obtenir l'objet frame de la fonction actuelle, puis renvoie l'attribut co_name de l'attribut f_code de l'objet frame, qui est le nom de la fonction.
La fonction inspect.currentframe() renvoie un objet frame pour le frame de l'appelant. L'objet frame est une instance de la classe FrameInfo, qui possède plusieurs attributs qui fournissent des informations sur le cadre, tels que l'attribut f_code, qui est l'objet de code de la fonction, et l'attribut co_name, qui est le nom de la fonction.
Enfin, le code imprime le nom de la fonction à l'aide de la fonction get_function_name().
Python3
Alya Manasa
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> |
>
>Sortir
The name of function is : get_function_name>
Cette approche a une complexité temporelle de O(1) et un espace auxiliaire de O(1).