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!