Renommer le pointeur de fonction Python
-
Renommer une fonction à l’aide de son pointeur avec la fonction
getattr()
en Python -
Renommer la fonction à l’aide de son pointeur avec l’instruction
import
en Python -
Renommer la fonction à l’aide de son pointeur avec l’instruction
package.function
en Python - Renommer la fonction à l’aide de son pointeur avec un dictionnaire de référence en Python
Ce tutoriel abordera différentes méthodes pour renommer une fonction à l’aide d’un pointeur en Python.
Renommer une fonction à l’aide de son pointeur avec la fonction getattr()
en Python
Nous avons un fichier nommé functions.py
où nous avons défini deux fonctions nommées square
et cube
.
Nous pouvons utiliser plusieurs méthodes pour accéder à ces fonctions avec un autre nom. Il existe une notion bien connue selon laquelle tout en Python est un objet.
Et comme nous le savons tous, les objets sont appelés par référence. Même si Python ne prend pas en charge les pointeurs définis par l’utilisateur, nous pouvons toujours contourner ce problème avec les méthodes suivantes.
Notre première méthode consiste à utiliser la fonction getattr()
en Python. Le getattr()
est une fonction intégrée qui renvoie la valeur de l’attribut nommé d’un objet.
Il peut être utilisé avec la fonction __import__()
. Le __import__()
est une autre fonction intégrée utilisée pour importer des packages, des bibliothèques et des modules dans notre code en Python.
Une fois importé, nous pouvons alors attribuer un nouveau nom à la fonction d’origine en affectant la valeur de retour de la fonction getattr()
à une nouvelle variable. L’extrait de code montre le fonctionnement de ce phénomène en Python.
pkg = __import__("functions")
func = getattr(pkg, "cube")
print(func(3))
Production :
27
Nous avons importé le fichier functions.py
avec la fonction __import__()
et attribué sa valeur à l’objet pkg
.
Nous avons ensuite récupéré la fonction originale cube()
dans l’objet pkg
et attribué sa valeur à la variable func
. Nous pouvons maintenant appeler la fonction functions.cube
avec uniquement la fonction func
.
Au final, nous avons imprimé le cube de 3 avec le func(3)
.
Renommer la fonction à l’aide de son pointeur avec l’instruction import
en Python
Cette méthode consiste à utiliser l’instruction import
pour renommer la fonction.
L’instruction import
est utilisée pour importer des packages, des bibliothèques ou des modules dans notre code. Nous pouvons utiliser l’instruction as
avec notre instruction import
pour renommer nos packages, bibliothèques ou modules.
L’extrait de code pour renommer nos packages avec les instructions import
et as
est ci-dessous.
from functions import square as sq
print(sq(2))
Production :
4
Nous avons importé notre fonction square()
dans le fichier functions.py
en tant que sq
.
Maintenant, nous pouvons utiliser la fonction square()
dans notre fichier actuel en écrivant simplement sq()
. Cette méthode est très pratique et facile à comprendre.
Mais, cette méthode échoue si nous voulons utiliser plusieurs noms pour notre seule fonction. Les méthodes mentionnées dans les sections suivantes résolvent ce problème et fournissent une solution qui peut également gérer plusieurs noms pour une seule fonction.
Renommer la fonction à l’aide de son pointeur avec l’instruction package.function
en Python
Notre fonction square()
se trouve dans le fichier functions.py
, nous pouvons référencer cette fonction en important d’abord le fichier funcitons.py
dans notre code actuel et en écrivant function.square()
.
Cela sert de référence à la fonction d’origine. Nous pouvons attribuer sa valeur à n’importe quelle variable de notre code et utiliser cette variable pour appeler la fonction.
L’extrait de code fourni ci-dessous nous permet de comprendre le fonctionnement de cette méthode.
import functions
sq = functions.square
print(sq(3))
Production :
9
Nous avons renommé notre fonction functions.square()
en sq()
en affectant la référence de la functions.square
à sq
.
Nous avons ensuite utilisé la fonction renommée sq()
pour calculer et imprimer le carré de 3
. Cette méthode est très utile lors de l’attribution de plusieurs noms à la même fonction.
Nous devons attribuer la valeur de functions.square
à plusieurs variables pour ce faire. L’exemple de code suivant nous montre comment nous pouvons y parvenir.
import functions
sq = functions.square
sq1 = functions.square
sq2 = functions.square
print(sq(3))
print(sq1(3))
print(sq2(3))
Production :
9
9
9
Nous avons appelé la même fonction functions.square()
avec trois noms différents dans le même fichier de code. Cette méthode fonctionne très bien avec plusieurs noms pour une fonction.
Il peut également être utilisé pour plusieurs fonctions. Le seul problème avec cette méthode est qu’elle nécessite un peu de code et qu’elle semble très redondante.
La méthode décrite dans la section suivante résout ce problème.
Renommer la fonction à l’aide de son pointeur avec un dictionnaire de référence en Python
Nous pouvons utiliser le dictionnaire des références aux fonctions d’origine pour attribuer plusieurs noms à plusieurs fonctions d’origine.
Cette méthode est simple à mettre en œuvre. Nous devons attribuer une clé à la référence d’origine.
Nous pouvons alors accéder à la référence à la fonction d’origine en utilisant le nom du dictionnaire avec la clé attribuée. L’extrait de code suivant montre une implémentation fonctionnelle de cette méthode.
import functions
functionsdict = {"square": functions.square, "cube": functions.cube}
c = functionsdict["cube"]
print(c(3))
Production :
27
Nous avons créé un dictionnaire qui attribue une clé à toutes les références des fonctions d’origine. Nous avons ensuite renommé le functions.cube
en c
en utilisant le dictionnaire functionsdict
et la clé correspondante cube
.
Au final, nous avons utilisé la fonction c()
pour imprimer le cube de 3
.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn