Maison  >  Article  >  développement back-end  >  Pouvez-vous imprimer les noms de variables d'origine en Python après un retour de fonction ?

Pouvez-vous imprimer les noms de variables d'origine en Python après un retour de fonction ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-26 15:37:02596parcourir

Can You Print the Original Variable Names in Python After a Function Return?

Impression des noms de variables en Python après le retour de la fonction

En Python, il est courant d'utiliser des variables énumérées telles que myEnum.SomeNameA et myEnum. UnNomB. Lorsque ces variables sont renvoyées par des fonctions, il peut être utile d'imprimer leurs noms plutôt que leurs valeurs.

Réponse courte : Pas possible

La réponse courte est qu'il n'est pas possible d'imprimer les noms de variables d'origine après qu'ils ont été renvoyés par une fonction. En effet, les variables Python ne sont pas des objets auxquels sont associés des noms.

Réponse longue : solutions de contournement hacky

Il existe certaines solutions de contournement qui peuvent vous permettre d'obtenir quelque chose de similaire , mais ces méthodes ne sont généralement pas recommandées pour le code de production. Une de ces solutions de contournement consiste à utiliser les modules de traçabilité, d'inspection et d'autres pour accéder aux informations sur la pile d'appels. Ceci peut être réalisé en utilisant un code similaire à celui-ci :

<code class="python">import inspect
import traceback

def get_variable_name(value):
    # Get the current stack frame
    frame = inspect.currentframe()
    # Get the function that called this function
    function = frame.f_back.f_code
    # Get the line number of the call
    line_number = frame.f_back.f_lineno
    # Get the source code for that line
    source_line = function.co_lines[line_number - 1]
    # Find the variable name
    var_name = source_line.split("=")[0].strip()
    return var_name</code>

Cependant, il est important de noter que de telles solutions de contournement peuvent être complexes et sujettes aux erreurs, et qu'elles peuvent ne pas convenir à toutes les situations.

Alternatives de contournement

Au lieu d'essayer d'imprimer les noms de variables, vous pouvez envisager d'utiliser une approche différente en fonction de votre cas d'utilisation spécifique. Par exemple, vous pouvez gérer un dictionnaire qui mappe les valeurs à leurs noms correspondants ou utiliser un cadre de journalisation pour enregistrer les noms de variables avec leurs valeurs.

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