Maison > développement back-end > Tutoriel Python > Comment puis-je obtenir le nom d'une variable Python au moment de l'exécution ?

Comment puis-je obtenir le nom d'une variable Python au moment de l'exécution ?

Susan Sarandon
Libérer: 2024-12-21 14:02:10
original
111 Les gens l'ont consulté

How Can I Get a Python Variable's Name at Runtime?

Intercepter les noms de variables en Python

En Python, accéder directement au nom d'une variable n'est pas une tâche simple. Cependant, pour des scénarios spécifiques, où l'obtention du nom de la variable est cruciale, envisagez la solution suivante.

La tromperie du module Inspect

Grâce au module inspect, vous pouvez parcourir la pile d'appels et extraire la variable nom d'intérêt. Voici comment procéder :

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)
Copier après la connexion

Exemple d'utilisation

Pour illustrer sa fonctionnalité, supposons que vous ayez une variable nommée spam avec une valeur de 42. En utilisant la fonction varname(), vous pouvez récupérer son nom :

if __name__ == '__main__':
  spam = 42
  print varname(spam)
Copier après la connexion

Sortie

La sortie sera be :

spam
Copier après la connexion

Remarque de prudence

Bien que cette approche fournisse un moyen d'accéder aux noms de variables, il est important de l'utiliser judicieusement. La dénomination directe des variables est généralement déconseillée dans les pratiques de codage Pythonic. Envisagez des solutions alternatives, telles que la transformation du fichier de configuration en dictionnaire lors de l'initialisation pour éviter d'avoir recours à cette technique.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal