J'aimerais convertir un nom de variable python en son équivalent en chaîne de caractères, comme indiqué. Comment faire ?
var = {}
print ??? # Would like to see 'var'
something_else = 3
print ??? # Would print 'something_else'
J'aimerais convertir un nom de variable python en son équivalent en chaîne de caractères, comme indiqué. Comment faire ?
var = {}
print ??? # Would like to see 'var'
something_else = 3
print ??? # Would print 'something_else'
Ce module permet de convertir les noms de variables en chaînes de caractères : https://pypi.org/project/varname/
Utilisez-le comme suit :
from varname import nameof
variable=0
name=nameof(variable)
print(name)
//output: variable
L'installer en :
pip install varname
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Pourriez-vous préciser ce que vous essayez de faire ? Il semble que vous demandiez comment résoudre un problème de la mauvaise manière. Il y a aussi une question similaire, mais à propos de Ruby stackoverflow.com/questions/58482/ruby-get-a-variables-name
1 votes
J'ai vérifié cette question car, en utilisant RPy2, je veux passer une variable Python avec un nom R éponyme. Un exemple inutile (mais proche de mon application) :
def to_R( py_var ): r.assign( 'py_var', py_var )
pour assigner les données de (Py) py_var à l'environnement R et avoir le même nom. Ce serait utile pour moi de le faire à la place,r.assign( py_var.stringof, py_var )
a la D puisque le nom de la variable passée à ma fnto_r
n'est pas nécessairementpy_var
.4 votes
L'une des façons de l'utiliser est lorsqu'une déclaration Assert échoue. Vous pouvez fournir à l'utilisateur le nom exact de la variable en question tout en conservant votre code générique, par exemple AssertionError : 'something_else' must be a number greater than 5 (erreur d'affirmation : 'quelque chose_autre' doit être un nombre supérieur à 5). Vous pouvez alors tester chaque variable qui doit être supérieure à 5 et obtenir le nom de la variable dans le message AssertionError.
0 votes
Heureusement qu'il existe une question sur la façon de faire cela en Ruby !