IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Création de nom de variable


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Curieux
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Par défaut Création de nom de variable
    Bonjour,
    Je suis novice en Python et j'aimerai avoir un peu d'aide sur quelque chose de sans doute très basique.
    J'aimerai créer un nom de variable hybride avec un préfixe imposé (une chaine de caractères) et un suffixe (une variable déjà existante).
    Exemple:
    préfixe = liste_
    suffixe = variable_existante
    résultat = préfixe_suffixe = liste_variable_existante

    Merci de votre aide.
    Nazzzz

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    Qu'est-ce qui ne va pas dans l'exemple proposé ?

    Si le but est de créer des noms de variables dynamiquement, ce n'est pas une bonne pratique... à la place on peut utiliser des objets list ou tuple selon le besoin.

  3. #3
    Candidat au Club
    Femme Profil pro
    Curieux
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Bonjour,

    Qu'est-ce qui ne va pas dans l'exemple proposé ?

    Si le but est de créer des noms de variables dynamiquement, ce n'est pas une bonne pratique... à la place on peut utiliser des objets list ou tuple selon le besoin.
    Ce qui ne va pas c'est que je ne sais pas comment exprimer mon exemple en Python.
    Avec quelle syntaxe je peux associer mon préfixe (chaine de caractères imposée) a un nom de variable déjà existant dans mon code pour créer une nouvelle variable.

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Tourner votre problème d'une autre manière... comme je l'ai expliqué dans ma 1ère réponse, ce n'est pas une bonne pratique, et à juste titre, votre manière de résoudre le problème ne doit pas être pris par le bon bout.

    Pouvez-vous expliquez quelle est la problématique ? Ce que vous donnez est une résolution à un problème, donc une solution possible, ce que je souhaite, c'est connaître le problème avant d'aborder avec vous une solution.

  5. #5
    Candidat au Club
    Femme Profil pro
    Curieux
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Par défaut
    Il me semble que le problème est clairement et simplement expliqué sans vouloir froisser personne.
    Il y a sans doute mieux à faire mais le but ici n'est pas de pondre 3 pages de contexte pendant 2h.

    Je veux simplement associer mon préfixe (chaine de caractères) à un nom de variable déjà existant(qui sera mon suffixe donc) afin de construire une nouvelle variable spécifique et je ne sais pas comment le faire.

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Tenez,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    caca = 0
    for i in range(20):
        globals()[f"caca_{i}"] = i**2
     
    print(caca_1)
    print(caca_2)
     
    # ...
    Bonne continuation...

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 831
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 831
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Nazzzz Voir le message
    Il me semble que le problème est clairement et simplement expliqué sans vouloir froisser personne.
    Pas du tout, tu n'as pas expliqué ton problème mais la solution que tu as trouvée pour le résoudre, ce qu'on appelle généralement un problème XY. Parce que ce que tu veux faire ne se fait pas. Parce que Python (et globalement tous les langages de haut niveau) possèdent un pannel d'outils qui vont des tableaux aux dictionnaires sans compter tous les "à côtés" comme les deque (listes à 2 entrées) ou autres containers tous plus folkloriques les uns que les autres. On ne constuit pas un nom de variable en dynamique. On ne fait ça dans aucun langage et pas non plus en Python même s'il sait le faire. Parce qu'en programmation, un nom de variable est un identifiant et qu'un identifiant est un invariant. Et donc on ne peut pas construire un nom "invariant" à partir d'une "variable". Ou alors tu dis clairement "je voudrais tenter un truc con pour le fun" mais ceux qui tentent ça sont généralement des développeurs qui sont un peu (beaucoup) au dessus du niveau du débutant et qui cherchent à se checker sur des inutilités juste pour le plaisir d'y arriver (un peu à la façon du ioccc) et certainement pas pour faire du code pérenne et utile.

    Citation Envoyé par Nazzzz Voir le message
    Il y a sans doute mieux à faire mais le but ici n'est pas de pondre 3 pages de contexte pendant 2h.
    Tu aurais simplement dit "j'ai telle donnée je voudrais la traiter de telle façon pour avoir telle sortie" ça ne prenait ni 3 pages ni 2h. Ce que Fred1599 a fait de façon un peu dégueu (et il le montre bien avec son nom de variable) se fait de façon bien plus naturelle et facile avec un tableau (liste/tuple) ou un dictionnaire, lesquel offrent tous les avantages que son code offre déjà plus des possibilités d'automatisation au travers de boucles

    Avec un tuple
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    papierToilette=tuple(i*i for i in range(20))
    print(papierToilette[1])
    print(papierToilette[2])
     
    for (i, p) in enumerate(papierToilette):
    	print("%d: j'essuie le caca de Fred %d fois" % (i, p))

    Avec un dictionnaire
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    papierToilette=dict(("caca_%d" % (i+1), i*i) for i in range(20))
     
    print(papierToilette["caca_1"])
    print(papierToilette["caca_2"])
    for (k, v) in papierToilette.items():
    	print("j'essuie le %s de Fred %d fois" % (k, v))

    Citation Envoyé par Nazzzz Voir le message
    Merci. Je vais m'en démerder...
    Ce genre de réponse ressemble vraiment à de l'insolence...

    Citation Envoyé par LeNarvalo Voir le message
    Bref, n'ayant pas plus d'information sur ce que tu veux faire, on ne peut pas vraiment t'aider.
    Ben si, tu n'as pas vu que son problème est "clairement" expliqué???
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 739
    Par défaut
    Citation Envoyé par Nazzzz Voir le message
    Ce qui ne va pas c'est que je ne sais pas comment exprimer mon exemple en Python.
    Normal puisque vous débutez.

    Ceci dit vous devriez pouvoir raconter en français ce que vous cherchez à faire. On pourra vous raconter comment le traduire en bon Python sans avoir à créer des noms de variables à la volée.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 739
    Par défaut
    Salut,

    Citation Envoyé par Nazzzz Voir le message
    J'aimerai créer un nom de variable hybride avec un préfixe imposé (une chaine de caractères) et un suffixe (une variable déjà existante).
    Quel problème cherchez vous à résoudre?
    Comme vous débutez, vous êtes probablement parti sur une mauvaise piste.

    Sinon oui on peut faire des choses un peu comme çà avec un Python que vous ne connaissez pas encore. Mais comme on ne fait çà que lorsqu'on sait expliquer pourquoi on ne peut pas faire autrement...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Aide création nom de variable avec 2 indices
    Par gautierd dans le forum MATLAB
    Réponses: 3
    Dernier message: 08/02/2015, 11h44
  2. Réponses: 2
    Dernier message: 14/08/2013, 15h41
  3. Réponses: 1
    Dernier message: 04/12/2010, 17h08
  4. [WD14] Création de nom de variables dynamiquement
    Par fhmayn dans le forum WinDev
    Réponses: 3
    Dernier message: 12/02/2010, 17h02
  5. Création d'objet fait-maison avec un nom de variable
    Par dalmasma dans le forum Général VBA
    Réponses: 7
    Dernier message: 14/05/2009, 09h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo