Maison >développement back-end >Tutoriel Python >Comment puis-je obtenir le nom d'une variable Python ?

Comment puis-je obtenir le nom d'une variable Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-27 10:44:19539parcourir

How Can I Get a Python Variable's Name?

Impression des noms de variables en Python : révéler le nom derrière la valeur

Dans le domaine de la programmation Python, accéder au nom d'une variable peut être une tâche embarrassante. Considérons un scénario dans lequel vous possédez une variable nommée « choix », une entité numérique affectée de la valeur 2. Curieusement, vous cherchez à récupérer le nom de cette variable, semblable à l'expression « namestr(choice), » qui donnerait « choix ' comme résultat.

L'attrait de cette entreprise vient de son utilité dans la construction de dictionnaires. Cependant, le chemin vers cet objectif vous a échappé, vous laissant perplexe.

Plongez dans la solution

N'ayez crainte, car une solution attend votre enquête. Python nous offre le module inspect, un outil puissant qui nous permet de plonger dans le fonctionnement interne de notre code. En utilisant ce module, nous pouvons extraire le nom de notre variable grâce à l'approche suivante :

import inspect, re

def varname(p):
  for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]:
    m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line)
    if m:
      return m.group(1)

if __name__ == '__main__':
  spam = 42
  print varname(spam)

Cette fonction, 'varname', parcourt le code dans le cadre actuel et capture la ligne contenant l'appel à ' nom de variable.' En utilisant une expression régulière, il extrait le nom de la variable qui a été transmise.

Une mise en garde

Bien que cette méthode accorde la possibilité d'obtenir le nom d'une variable, elle doit être abordé avec prudence. L'inspection du code peut être une arme à double tranchant, et il est conseillé d'explorer des approches alternatives avant de recourir à cette solution complexe.

Exploration des options

Envisagez de revoir la tâche à main et recherchant une solution plus simple qui s’aligne sur les principes fondamentaux de Python. Les informations que vous avez fournies suggèrent que la lecture du fichier de configuration et la construction d'un dictionnaire à partir de son contenu peuvent constituer une solution plus élégante et plus efficace.

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