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 :

Plusieurs objets en une seule boucle


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 65
    Points : 65
    Points
    65
    Par défaut Plusieurs objets en une seule boucle
    Bonjour à tous,

    Je me suis remis à Python dernièrement et j'ai une question qui me tarabuste. Malgré des recherches sur Google, je n'ai rien trouvé de probant. Je m'en remets donc à vous en vous soumettant ma problématique.

    Dans mon programme, j'ai une classe nommé Wagon.
    Par exemple, pour instancier 4 nouveaux objets de ma classe, j'utilise habituellement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            self.w1 = Wagon(self.can, 10, 30)
            self.w2 = Wagon(self.can, 130, 30)
            self.w3 = Wagon(self.can, 250, 30)
            self.w4 = Wagon(self.can, 370, 30)
    Maintenant, je me dis, si j'ai 500 instances à créer, voilà la grosse galère !
    Y a t-il moyen de faire une boucle pour générer un grand nombre d'instances facilement du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     for i in range(10,370,120):
                self.wY = Wagon(self.can, i, 30)
    où le Y majuscule serait par exemple une valeur que j'incrémente de 1 pour chaque objet ou extrait d'une liste, afin d'y avoir accès ultérieurement. J'aborde probablement le problème de manière simpliste, mais j'aimerai savoir comment faire car pour l'instant, je tourne en rond.

    Voilà pour ma question existentielle du moment :p
    Si quelqu'un à une piste, Merci d'avance!

    Cordialement,
    Damien

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 897
    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 : 3 897
    Points : 7 257
    Points
    7 257
    Par défaut
    T'as la bonne manière de faire, à chaque tour de boucle tu crées un objet différent, maintenant il te faut un conteneur permettant de placer en mémoire ces objets créés, comme une liste par exemple...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    listWagons = []
    for i in range(10,370,120):
        self.w = Wagon(self.can, i, 30)
        listWagons.append(self.w)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 65
    Points : 65
    Points
    65
    Par défaut
    Ahaaaa, tellement simple!!!!

    Comment j'ai pu ne peux y penser, j'ai honte!
    En tout cas, mille mercis et encore plus pour la rapidité de la réponse.

    Je passe en résolu

    Cordialement,

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 897
    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 : 3 897
    Points : 7 257
    Points
    7 257
    Par défaut
    En tout cas, mille mercis et encore plus pour la rapidité de la réponse.
    De rien à bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Boucle+compilations de plusieurs feuilles en une seule
    Par pierrejean dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2012, 19h27
  2. Supprimer plusieurs objet en une et une seule boucle for
    Par Beber_lechat dans le forum Langage
    Réponses: 5
    Dernier message: 23/09/2010, 09h44
  3. [AC-2003] Envoi de plusieurs objets via une seule macro
    Par Skoat dans le forum Access
    Réponses: 9
    Dernier message: 03/11/2009, 16h42
  4. [XL-2007] Créer une boucle pour copie des tableaux de plusieurs feuilles sur une seule
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/09/2009, 17h12
  5. [WPF-Blend] Plusieurs objets mais une seule animation
    Par Tuizi dans le forum Framework .NET
    Réponses: 12
    Dernier message: 11/12/2007, 17h10

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