Maison > Article > développement back-end > Comment puis-je récupérer le nom de la méthode de l'appelant en Python sans modifier la méthode de l'appelant ?
Récupération du nom de la méthode de l'appelant en Python
Lorsque vous travaillez avec des appels de fonction à plusieurs niveaux, il peut être utile d'accéder au nom de l'appelant. méthode d'appel. Cela peut fournir un contexte précieux dans les méthodes appelées. Cet article explique comment récupérer le nom de la méthode de l'appelant en Python, en évitant toute modification de la méthode de l'appelant.
Utilisation d'Inspect
Le module d'inspection Python fournit plusieurs fonctions pour accéder informations sur les appelants. inspect.getframeinfo() et les fonctions associées nous permettent de naviguer dans la pile de cadres et de récupérer les informations pertinentes.
Implémentation
Vous trouverez ci-dessous une démonstration de la façon d'utiliser inspect :
import inspect def f1(): f2() def f2(): curframe = inspect.currentframe() calframe = inspect.getouterframes(curframe, 2) print('caller name:', calframe[1][3]) f1()
Dans cet exemple, le nom de l'appelant est récupéré dans la fonction f2 à l'aide de la variable calframe. La valeur de calframe1 contient le nom de l'appelant (f1 dans ce cas).
Attention
Il est important de noter que l'introspection, bien qu'utile pour le débogage et le développement, ne doit pas être invoqué à des fins liées à la production. Ses résultats peuvent être affectés par divers facteurs et doivent être abordés avec prudence dans des scénarios critiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!