Accéder au nom de la méthode de l'appelant en Python
Obtenir le nom de la méthode appelante dans une méthode appelée peut s'avérer utile pour le débogage et l'introspection. Pour y parvenir, Python fournit le module inspect, qui offre un ensemble de fonctions pour inspecter les objets de code.
En utilisant les fonctions getframeinfo et currentframe d'inspect, on peut accéder à la pile d'appels et récupérer le cadre de l'appelant. En parcourant la pile d'appels, il devient possible d'identifier le nom de l'appelant.
Voici un exemple illustrant cette approche :
import inspect def method1(): frame = inspect.currentframe() outer_frame = inspect.getouterframes(frame, 2)[1] print(f"Caller's name: {outer_frame[3]}") method2() def method2(): frame = inspect.currentframe() outer_frame = inspect.getouterframes(frame, 2)[1] print(f"Caller's name: {outer_frame[3]}") method1()
Une fois exécuté, ce code affichera :
Caller's name: method1 Caller's name: method2
Bien que l'introspection puisse être bénéfique pour le débogage et le développement, elle ne doit pas être fortement utilisée pour les tâches liées à la production. fonctionnalité.
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!