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 variable automatique


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Par défaut Création variable automatique
    Bonjour,
    J'ai un projet de programme où j'ai besoin d'une fonction de type "login".
    c'est à dire qu'à chaque fois que l'on veut ajouter une information dans une "class" prédéfinie, le programme crée une class(n+1) à chaque nouvel ajout, afin de retrouver les données de la classe plus tard. Et si possible de façon permanante, une fois que l'on ferme le programme, on retrouve quand meme les informations enregistrés.

    Je précise que je débute dans le code et que tout conseil / redirection vers tel ou tel information est la bienvenue.

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Bonjour.

    Créer une instance de classe, je vois très bien ce que c'est (encore heureux!) mais créer une classe à chaque ajout de valeur de login, j'avoue ne pas trop piger.

    Pourquoi ne pas gérer les login dans une base de données ? Ou encore les sauvegarder dans un fichier JSON ?

    C'est un peu vague là. Faut nous en dire davantage.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 829
    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 829
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par tendax Voir le message
    c'est à dire qu'à chaque fois que l'on veut ajouter une information dans une "class" prédéfinie, le programme crée une class(n+1) à chaque nouvel ajout, afin de retrouver les données de la classe plus tard.
    C'est là la raison d'être des tableaux (qui se nomment "listes" en Python). Tu crées "une" classe et tu mémorises chaque nouvelle instance dans un tableau d'instances de classes.
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> class toto: pass
    ... 
    >>> t=[]
    >>> for i in range(10): t.append(toto())
    ... 
    >>> print(t)
    [<__main__.toto object at 0x7f12d971c4c0>, <__main__.toto object at 0x7f12d975d780>, <__main__.toto object at 0x7f12d975cca0>, <__main__.toto object at 0x7f12d96b1210>, <__main__.toto object at 0x7f12d9650e80>, <__main__.toto object at 0x7f12d9650eb0>, <__main__.toto object at 0x7f12d9650ee0>, <__main__.toto object at 0x7f12d9650f10>, <__main__.toto object at 0x7f12d9650f40>, <__main__.toto object at 0x7f12d9650f70>]
    >>> print(t[0])
    <__main__.toto object at 0x7f12d971c4c0>

    Citation Envoyé par tendax Voir le message
    Et si possible de façon permanante, une fois que l'on ferme le programme, on retrouve quand meme les informations enregistrés.
    Cela nécessite une technologie de sauvegarde sur disque (fichier, bdd)

    Citation Envoyé par tendax Voir le message
    Je précise que je débute dans le code
    Non, pas besoin de le préciser. J'avais déjà vu des demandeurs qui voulaient créer des variables incrémentées (style v1, v2, v3 etc) de façon automatique mais créer des classes de façon automatique là tu es le premier.
    Après si tu te sens, tu peux t'orienter vers les métaclasses ou alors reformuler ton besoin de façon plus précises car j'ai l'impression que tu nous fais là un problème XY.
    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]

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Par défaut
    Citation Envoyé par Arioch Voir le message
    Bonjour.

    Créer une instance de classe, je vois très bien ce que c'est (encore heureux!) mais créer une classe à chaque ajout de valeur de login, j'avoue ne pas trop piger.

    Pourquoi ne pas gérer les login dans une base de données ? Ou encore les sauvegarder dans un fichier JSON ?

    C'est un peu vague là. Faut nous en dire davantage.
    Quand je parles je parle de login, c'est dans l'idée ou, quand on rentre une valeur dans une class (exemple class de pseudo), ce pseudo soit automatiquement enregistré qq part de façon définitive justement, c'est un peu ce que tu dis en voulant enregistree cette donné dans un fichier externe.
    Le fait est que je ne sais pas du tout faire ça justement, comment le programmer tout simplement.
    J'espere avoir été assez clair 😅

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    C'est là la raison d'être des tableaux (qui se nomment "listes" en Python)


    Cela nécessite une technologie de sauvegarde sur disque (fichier, bdd)


    Non, pas besoin de le préciser. J'avais déjà vu des demandeurs qui voulaient créer des variables incrémentées (style v1, v2, v3 etc) de façon automatique mais créer des classes de façon automatique là tu es le premier.
    Après si tu te sens, tu peux t'orienter vers les métaclasses ou alors reformuler ton besoin de façon plus précises car j'ai l'impression que tu nous fais là un problème XY.
    Je m'exprime peut être mal en parlant de créer une class de façon automatique.
    admettons je crée une class : "humain", avec en donné a enregistré (prénom,axe,sexe), je peux par la suite faire
    humain1 = humain
    humain1("Romain", 23, "homme")
    et demandé dans mon programme de me citer l'age ou le prénom de humain1

    le but serait donc d'enregistré ces valeurs une fois le programme lancé, qu'il "crée" une valeur humain(n) a chaque fois qu'on ajoute un prénom un age etc.. et que ces valeurs soient sauvegardé pour être exploité plus tard

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 829
    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 829
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tendax Voir le message
    Le fait est que je ne sais pas du tout faire ça justement, comment le programmer tout simplement.
    Ouvrir un fichier, écrire la valeur, fermer le fichier => with open("fic", "w") as fp: print(123, file=fp) (avec "with" le fichier est automatiquement fermé)
    Et Python ça s'apprend, il existe plein de tutos qui t'expliquent tout ça.

    Citation Envoyé par tendax Voir le message
    admettons je crée une class : "humain", avec en donné a enregistré (prénom,axe,sexe), je peux par la suite faire
    humain1 = humain
    humain1("Romain", 23, "homme")
    humain1=humain("Romain", 23, "homme").

    Citation Envoyé par tendax Voir le message
    et demandé dans mon programme de me citer l'age ou le prénom de humain1
    print(humain1.prenom)
    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]

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Ouvrir un fichier, écrire la valeur, fermer le fichier => with open("fic", "w") as fp: print(123, file=fp) (avec "with" le fichier est automatiquement fermé)
    Et Python ça s'apprend, il existe plein de tutos qui t'expliquent tout ça.
    Merci je vais allez essayer ça (et continuer de me renseigner de manière général)

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Par défaut
    humain1=humain("Romain", 23, "homme").


    print(humain1.prenom)[/QUOTE]

    Je sais déjà faire ça justement, c'est pour que "humain1" se crée sans que j'ai à le taper et a enregistrer les valeurs manuellement au préalable

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 829
    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 829
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tendax Voir le message
    Je sais déjà faire ça justement, c'est pour que "humain1" se crée sans que j'ai à le taper et a enregistrer les valeurs manuellement au préalable
    Récupérer nom, age et sexe dans le fichier (valeurs qui seront stockées dans 3 variables "nom", "age" et "sexe") puis humain1=humain(nom, age, sexe). Reste à définir comment seront stockées ces valeurs dans le fichier afin de coder la façon de les récupérer.
    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]

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 718
    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 718
    Par défaut
    Salut,

    Citation Envoyé par tendax Voir le message
    Je précise que je débute dans le code et que tout conseil / redirection vers tel ou tel information est la bienvenue.
    On peut toujours sauvegarder l'état d'objets du programme via pickle.
    Mais si vous débutez, vous devriez peut être choisir des moyens plus simples (et que vous connaissez).

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

Discussions similaires

  1. [XL-2010] Création de variables automatiquement
    Par Blooks dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/09/2017, 11h06
  2. création tableau automatique
    Par clodius dans le forum Excel
    Réponses: 4
    Dernier message: 01/10/2007, 08h53
  3. [Struts-Layout] Création Menu automatique
    Par alister dans le forum Struts 1
    Réponses: 5
    Dernier message: 05/07/2007, 10h45
  4. [C++] création variable à la compilation
    Par zero_janvier dans le forum C++
    Réponses: 4
    Dernier message: 03/10/2005, 18h25
  5. Variables automatiques et mot clé auto, variables register.
    Par Évariste Galois dans le forum C++
    Réponses: 6
    Dernier message: 11/08/2005, 20h30

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