Afficher le nom d'une variable en python
Fermé
Salamander77
-
Modifié le 21 févr. 2022 à 19:52
mamiemando Messages postés 33336 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 5 novembre 2024 - 28 févr. 2022 à 12:40
mamiemando Messages postés 33336 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 5 novembre 2024 - 28 févr. 2022 à 12:40
A voir également:
- Nom variable python
- Nom de l'adresse - Forum Réseaux sociaux
- Trouver un numéro de portable avec un nom ✓ - Forum Mobile
- Trouver une adresse avec un nom de famille gratuit ✓ - Forum Mobile
- Citizen code python - Accueil - Outils
4 réponses
georges97
Messages postés
12468
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
5 novembre 2024
2 394
Modifié le 21 févr. 2022 à 19:53
Modifié le 21 févr. 2022 à 19:53
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)
mamiemando
Messages postés
33336
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
5 novembre 2024
7 801
Modifié le 21 févr. 2022 à 20:03
Modifié le 21 févr. 2022 à 20:03
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
georges97
Messages postés
12468
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
5 novembre 2024
2 394
21 févr. 2022 à 20:54
21 févr. 2022 à 20:54
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.
mamiemando
Messages postés
33336
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
5 novembre 2024
7 801
>
georges97
Messages postés
12468
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
5 novembre 2024
28 févr. 2022 à 12:39
28 févr. 2022 à 12:39
Pas de soucis :-)
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
22 févr. 2022 à 11:06
22 févr. 2022 à 11:06
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
:-)
Salamander77
Messages postés
2
Date d'inscription
lundi 21 février 2022
Statut
Membre
Dernière intervention
22 février 2022
22 févr. 2022 à 11:21
22 févr. 2022 à 11:21
C'a marche!!!!!!!
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
22 févr. 2022 à 11:32
22 févr. 2022 à 11:32
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
Salamander77
Messages postés
2
Date d'inscription
lundi 21 février 2022
Statut
Membre
Dernière intervention
22 février 2022
22 févr. 2022 à 11:45
22 févr. 2022 à 11:45
Ok, je comprends.
mamiemando
Messages postés
33336
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
5 novembre 2024
7 801
>
Salamander77
Messages postés
2
Date d'inscription
lundi 21 février 2022
Statut
Membre
Dernière intervention
22 février 2022
28 févr. 2022 à 12:40
28 févr. 2022 à 12:40
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.
21 févr. 2022 à 20:14
21 févr. 2022 à 20:18