Afficher le nom d'une variable en python
Bonjour,
Je suis débutant en programmation et j'ai besoin de savoir comment afficher le nom d'une variable au lieu d’afficher sa valeur dans python. A titre d'exemple, je vous montre une fonction
Si les deux variables choisies s'appellent
Mais si je décide d'appeler mes deux variables autrement:
... j'aurais toujours
Je cherche donc un moyen pour faire dans mon code ceci:
Merci beaucoup de bien vouloir m'aider.
Je suis débutant en programmation et j'ai besoin de savoir comment afficher le nom d'une variable au lieu d’afficher sa valeur dans python. A titre d'exemple, je vous montre une fonction
echangequi prend en paramètre deux variables et qui permute leurs valeurs :
def echange(x,y): c=y y=x x=c print("x=", x, "y=", y)
Si les deux variables choisies s'appellent
xet
ycomme dans la définition de la fonction le résultat est cohérent (c'est normal). A titre d'exemple on pourrait avoir:
x= 231 y= 123
Mais si je décide d'appeler mes deux variables autrement:
e=123 f=231 echange(e,f)
... j'aurais toujours
x= 231 y= 123.
Je cherche donc un moyen pour faire dans mon code ceci:
print("le nom de la premier variable dans la définition de la fonction=", valeur de la première variable, "le nom de la deuxième variable dans la définition de la fonction", valeur de la deuxième variable)
Merci beaucoup de bien vouloir m'aider.
A voir également:
- Nom variable python
- Citizen code python avis - Accueil - Outils
- Nom de compte steam exemple - Forum Jeux vidéo
- Changer nom iphone - Guide
- Nom animal - Télécharger - Études & Formations
- Nom snap - Guide
4 réponses
Bonjour,
Une piste:
Vus pouvez utiliser des variables pour vos noms de variables:
premier = "premier"
deuxième = "deuxième"
Les virgules délimitent les variables chaines de caractères et entiers ainsi que les textes ("*"), des espaces se plaçant par défaut autour de ces textes).
Par ailleurs, pour éviter de changer le script à chaque exécution, vous pouvez créer deux lignes d'input pour entrer les nouveaux noms de variables, sous la forme:
Une piste:
Vus pouvez utiliser des variables pour vos noms de variables:
premier = "premier"
deuxième = "deuxième"
<code>def echange(x,y): c=y y=x x=c print(premier,"=",x, deuxième,"=", y)
Les virgules délimitent les variables chaines de caractères et entiers ainsi que les textes ("*"), des espaces se plaçant par défaut autour de ces textes).
Par ailleurs, pour éviter de changer le script à chaque exécution, vous pouvez créer deux lignes d'input pour entrer les nouveaux noms de variables, sous la forme:
input("variable n°1:" , premier) input("variable n°2:" , deuxième)
Salamander77
Merci beaucoup.
Salamander77
Ok je vais essayer votre solution.
Bonjour,
Je cherche donc un moyen pour faire dans mon code ceci:
print("le nom de la premier variable dans la définition de la fonction=", valeur de la première variable, "le nom de la deuxième variable dans la définition de la fonction", valeur de la deuxième variable)
Merci beaucoup de bien vouloir m'aider.
Tu ne peux pas. Si c'était possible, ça irait à l'encontre de la notion de variable locale.
La manière dont tu nommes un paramètre de fonction n'a aucune implication sur le noms des variables utilisés lors de son appel. D'ailleurs, il n'y a même pas forcément de variable à l'appel (par exemple si tu appelles
Le nom d'une variable n'est pas "transporté" avec la variable. Seule sa valeur est en mémoire. Le nommage des variables et juste une manière de s'y retrouver pour le programmeur et pour permettre à ton interpréteur python de savoir quel bloc mémoire doit circuler d'une fonction à l'autre. Note que ce que j'explique reste vrai quel que soit le langage de programmation.
En conséquence, si tu veux afficher le contenu de variables dans ta fonction
Enfin, tu peux afficher le contenu des variables locales d'une fonction avec
Bonne chance
Je cherche donc un moyen pour faire dans mon code ceci:
print("le nom de la premier variable dans la définition de la fonction=", valeur de la première variable, "le nom de la deuxième variable dans la définition de la fonction", valeur de la deuxième variable)
Merci beaucoup de bien vouloir m'aider.
Tu ne peux pas. Si c'était possible, ça irait à l'encontre de la notion de variable locale.
La manière dont tu nommes un paramètre de fonction n'a aucune implication sur le noms des variables utilisés lors de son appel. D'ailleurs, il n'y a même pas forcément de variable à l'appel (par exemple si tu appelles
echange([1, 2], [3, 4]).
Le nom d'une variable n'est pas "transporté" avec la variable. Seule sa valeur est en mémoire. Le nommage des variables et juste une manière de s'y retrouver pour le programmeur et pour permettre à ton interpréteur python de savoir quel bloc mémoire doit circuler d'une fonction à l'autre. Note que ce que j'explique reste vrai quel que soit le langage de programmation.
En conséquence, si tu veux afficher le contenu de variables dans ta fonction
echange:
- soit tu utilises les noms de variable locales à
échange
, - soit tu utilises la solution proposée par georges67.
Enfin, tu peux afficher le contenu des variables locales d'une fonction avec
print(locals()). La fonction
localsretourne un dictionnaire qui associe les noms de variables locales à leur valeur.
Bonne chance
Bonsoir mamiemando,
J'ai eu peur un instant que tu n'invalides ma proposition, que j'avais testée auparavant, mais qui introduisait comme tu l'expliques utilement, des variables globales. A l'évidence, tes solutions cadrent mieux avec l'énoncé de Salamender77 Je continue mon apprentissage, ce qui me permet de bénéficier de tes conseils et éventuelles rectifications.
Bonne soirée.
J'ai eu peur un instant que tu n'invalides ma proposition, que j'avais testée auparavant, mais qui introduisait comme tu l'expliques utilement, des variables globales. A l'évidence, tes solutions cadrent mieux avec l'énoncé de Salamender77 Je continue mon apprentissage, ce qui me permet de bénéficier de tes conseils et éventuelles rectifications.
Bonne soirée.
Bonjour,
Après, ce problème de noms mis à part, on peut échanger les valeurs de 2 variables de cette façon:
:-)
Après, ce problème de noms mis à part, on peut échanger les valeurs de 2 variables de cette façon:
x,y = y,x
:-)
En fait, en Python, au lieu de:
on peut écrire:
donc pourquoi pas:
x=10 y=20
on peut écrire:
x,y = 10,20
donc pourquoi pas:
x,y = y,x
Bonjour Salamnder77,
Est-ce que ton problème est résolu ? Si oui, voir comment le basculer en résolu.
Est-ce que ton problème est résolu ? Si oui, voir comment le basculer en résolu.