Maison >développement back-end >Tutoriel Python >Comment obtenir le nom de la méthode de l'appelant en Python ?

Comment obtenir le nom de la méthode de l'appelant en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-07 07:56:13442parcourir

How to Get the Caller's Method Name in Python?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn