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 :

Class python - récupération de valeurs


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut Class python - récupération de valeurs
    bonjour,
    J'essaie de mettre des données dans des variables de class et ensuite les afficher pour voir si ce que je fais fonctionne ou pas, pour illustrer un peu voila un tableau de donnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ['50L/F1/FLAP1/E1;1;2;3;4;5;6;7;1;1;1;11;15', '200L/F1/FLAP1/E1;1;2;3;4;5;6;7;1;1;1;11;15', '500L/F1/FLAP1/E1;1;2;3;4;5;6;7;1;1;1;11;15', '50L/F1/FLAP1/E2;7;6;5;4;3;2;1;0;0;3;79;34', '200L/F1/FLAP1/E2;7;6;5;4;3;2;1;0;0;3;79;34', '500L/F1/FLAP1/E2;7;6;5;4;3;2;1;0;0;3;79;34', '50L/F1/FLAP1/E3;0;7;9;8;9;4;4;0;0;5;48;73', '200L/F1/FLAP1/E3;0;7;9;8;9;4;4;0;0;5;48;73', '500L/F1/FLAP1/E3;0;7;9;8;9;4;4;0;0;5;48;73', '50L/F1/FLAP2/E4;4;3;2;9;5;6;7;0;0;4;17;52', '200L/F1/FLAP2/E4;4;3;2;9;5;6;7;0;0;4;17;52', '500L/F1/FLAP2/E4;4;3;2;9;5;6;7;0;0;4;17;52', '50L/F1/FLAP2/E1;1;2;3;4;5;6;7;1;1;1;45;92', '200L/F1/FLAP2/E1;1;2;3;4;5;6;7;1;1;1;45;92', '500L/F1/FLAP2/E1;1;2;3;4;5;6;7;1;1;1;45;92', '50L/F2/FLAP3/E2;7;6;5;4;3;2;1;0;0;3;12;76', '200L/F2/FLAP3/E2;7;6;5;4;3;2;1;0;0;3;12;76', '500L/F2/FLAP3/E2;7;6;5;4;3;2;1;0;0;3;12;76', '50L/F2/FLAP3/E3;0;7;9;8;9;4;4;0;0;5;71;35', '200L/F2/FLAP3/E3;0;7;9;8;9;4;4;0;0;5;71;35', '500L/F2/FLAP3/E3;0;7;9;8;9;4;4;0;0;5;71;35', '50L/F2/FLAP3/E4;4;3;2;9;5;6;7;0;0;4;49;74', '200L/F2/FLAP3/E4;4;3;2;9;5;6;7;0;0;4;49;74', '500L/F2/FLAP3/E4;4;3;2;9;5;6;7;0;0;4;49;74', '50L/F2/FLAP4/E1;1;2;3;4;5;6;7;1;1;1;19;54', '200L/F2/FLAP4/E1;1;2;3;4;5;6;7;1;1;1;19;54', '500L/F2/FLAP4/E1;1;2;3;4;5;6;7;1;1;1;19;54', '50L/F2/FLAP4/E2;7;6;5;4;3;2;1;0;0;3;47;22', '200L/F2/FLAP4/E2;7;6;5;4;3;2;1;0;0;3;47;22', '500L/F2/FLAP4/E2;7;6;5;4;3;2;1;0;0;3;47;22', '50L/F3/FLAP5/E3;0;7;9;8;9;4;4;0;0;5;13;17', '200L/F3/FLAP5/E3;0;7;9;8;9;4;4;0;0;5;13;17', '500L/F3/FLAP5/E3;0;7;9;8;9;4;4;0;0;5;13;17', '50L/F3/FLAP5/E4;4;3;2;9;5;6;7;0;0;4;72;36', '200L/F3/FLAP5/E4;4;3;2;9;5;6;7;0;0;4;72;36', '500L/F3/FLAP5/E4;4;3;2;9;5;6;7;0;0;4;72;36', '50L/F3/FLAP5/E1;1;2;3;4;5;6;7;1;1;1;41;75', '200L/F3/FLAP5/E1;1;2;3;4;5;6;7;1;1;1;41;75', '500L/F3/FLAP5/E1;1;2;3;4;5;6;7;1;1;1;41;75', '50L/F4/FLAP6/E2;7;6;5;4;3;2;1;0;0;3;14;18', '200L/F4/FLAP6/E2;7;6;5;4;3;2;1;0;0;3;14;18', '500L/F4/FLAP6/E2;7;6;5;4;3;2;1;0;0;3;14;18', '50L/F4/FLAP6/E3;0;7;9;8;9;4;4;0;0;5;73;37', '200L/F4/FLAP6/E3;0;7;9;8;9;4;4;0;0;5;73;37', '500L/F4/FLAP6/E3;0;7;9;8;9;4;4;0;0;5;73;37', '50L/F4/FLAP6/E4;4;3;2;9;5;6;7;0;0;4;42;76', '200L/F4/FLAP6/E4;4;3;2;9;5;6;7;0;0;4;42;76', '500L/F4/FLAP6/E4;4;3;2;9;5;6;7;0;0;4;42;76', '50L/F4/FLAP7/E1;1;2;3;4;5;6;7;1;1;1;11;55', '200L/F4/FLAP7/E1;1;2;3;4;5;6;7;1;1;1;11;55', '500L/F4/FLAP7/E1;1;2;3;4;5;6;7;1;1;1;11;55', '50L/F4/FLAP7/E2;7;6;5;4;3;2;1;0;0;3;11;55', '200L/F4/FLAP7/E2;7;6;5;4;3;2;1;0;0;3;11;55', '500L/F4/FLAP7/E2;7;6;5;4;3;2;1;0;0;3;11;55']
    tableau que je découpe avec des splits, pour ensuite répartir les données dans les bons endroit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
    class Produit():
        """ produit """
        def __init__(self,nom_produit,chemin_produit):
            self.nom_produit = ""
            self.chemin_produit = ""
        def affiche(self):
            print self.nom_produit, self.chemin_produit
     
    class Feuille(Produit):
        """feuille"""
        def __init__(self,nom_feuille,chemin_feuille):
            self.nom_feuille =""
            self.chemin_feuille = ""
     
    class Flap(Feuille):
        """flap"""
        def __init__(self,nom_flap,chemin_flap):
            self.nom_flap = ""
            self.chemin_flap = ""
     
    class Embout(Flap):
        """embout"""
        def __init__(self,nom_embout,chemin_embout,parameters):
            self.nom_embout = ""
            self.chemin_embout = ""
            self.parametres = []
     
    class Table(Produit,Feuille,Flap,Embout):
     
        def __init__(self):
     
                for i in range(0,len(self.position_adr)):
                split_chemin = self.position_adr[i].split('/')
                split_parameters = split_chemin[3].split(';')
                self.list_produit.append(Produit((split_chemin[0]+'/'),split_chemin[0]))
                self.list_feuille.append(Feuille((split_chemin[0]+'/'+split_chemin[1]+'/'),split_chemin[1]))
                self.list_flap.append(Flap((split_chemin[0]+'/'+split_chemin[1]+'/'+split_chemin[2]+'/'),split_chemin[2]))
                self.list_embout.append(Embout((split_chemin[0]+'/'+split_chemin[1]+'/'+split_chemin[2]+'/'+split_parameters[0]+'/'),split_parameters[0],split_parameters[1:len(split_parameters)]))
     
                print self.list_feuille.affiche()
    je pense que je rate quelque chose dans ce que je fais car je n'arrive pas à voir le contenu de mes table list_xxxxx, ou alors je ne fais pas le print comme il faut.
    j'essaie de m'aider avec ce cours Python : Apprendre à programmer avec Python 3 par Gérard Swinnen

    merci de votre aide future

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

    Citation Envoyé par moa131 Voir le message
    je pense que je rate quelque chose dans ce que je fais car je n'arrive pas à voir le contenu de mes table list_xxxxx, ou alors je ne fais pas le print comme il faut.
    Je dirais les deux
    Relisez ce que fait la méthode __init__ de vos classes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Produit():
        """ produit """
        def __init__(self,nom_produit,chemin_produit):
            self.nom_produit = ""
            self.chemin_produit = ""
    Quoi qu'il soit passé en paramètre, les attributs seront des chaînes de caractères vides.
    Pour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
              print self.list_feuille.affiche()
    Ca serait mieux si la méthode affiche retournait une chaine de caractères:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        def affiche(self):
            print self.nom_produit, self.chemin_produit
    mais elle ne retourne rien.

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

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut
    je ne comprends pas trop. Si je comprends bien le cours,

    L'erreur que nous avons rencontrée au paragraphe précédent est-elle évitable ?.
    Elle ne se produirait effectivement pas, si nous nous étions arrangés pour que la méthode affiche_heure() puisse toujours afficher quelque chose, sans qu'il ne soit nécessaire d'effectuer au préalable aucune manipulation sur l'objet nouvellement créé. En d'autres termes, il serait judicieux que les variables d'instance soient prédéfinies elles aussi à l'intérieur de la classe, avec pour chacune d'elles une valeur « par défaut ».

    Pour obtenir cela, nous allons faire appel à une méthode particulière, que l'on appelle un constructeur. Une méthode constructeur est une méthode qui est exécutée automatiquement lorsque l'on instancie un nouvel objet à partir de la classe. On peut y placer tout ce qui semble nécessaire pour initialiser automatiquement l'objet que l'on crée. Sous Python, la méthode constructeur doit obligatoirement s'appeler __init__ (deux caractères « souligné », le mot init, puis encore deux caractères « souligné »)
    paragraphe 12.2

    mes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      def __init__(self,nom_produit,chemin_produit):
            self.nom_produit = ""
            self.chemin_produit = ""
    servent de valeur par défaut, et lorsque je boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        self.list_embout.append(Embout((split_chemin[0]+'/'+split_chemin[1]+'/'+split_chemin[2]+'/'+split_parameters[0]+'/'),split_parameters[0],split_parameters[1:len(split_parameters)]))
    je ne rempli pas le tableau list_embout avec mes "chemin_produit"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (split_chemin[0]+'/'+split_chemin[1]+'/'+split_chemin[2]+'/'+split_parameters[0]+'/')
    et "nom_produit" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    split_parameters[0],split_parameters[1:len(split_parameters)]

    edit: une erreur de ma part quand à l'appel de "affiche", mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.list_produit.affiche()
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     print self.list_produit.affiche()
    mais la encore j'obtiens une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    line 204, in __init__
        self.list_produit.affiche()
    AttributeError: 'list' object has no attribute 'affiche'

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut
    C'est bon j'ai finalement trouvé mon erreur, j'ai compris ce que je faisais mal sur mes __init__, voici ce qui corrige le tout:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    class Table():
     
        def __init__(self):
                for i in range(0,len(self.position_adr)):
                split_chemin = self.position_adr[i].split('/')
                split_parameters = split_chemin[3].split(';')
                self.list_produit.append(Produit((split_chemin[0]+'/'),split_chemin[0]))
                self.list_feuille.append(Feuille((split_chemin[0]+'/'+split_chemin[1]+'/'),split_chemin[1]))
                self.list_flap.append(Flap((split_chemin[0]+'/'+split_chemin[1]+'/'+split_chemin[2]+'/'),split_chemin[2]))
                self.list_embout.append(Embout((split_chemin[0]+'/'+split_chemin[1]+'/'+split_chemin[2]+'/'+split_parameters[0]+'/'),split_parameters[0],split_parameters[1:len(split_parameters)]))
     
            self.list_produit[0].affiche()
     
    class Produit():
        """ produit """
        def __init__(self,nom_produit = '',chemin_produit = ''):
            self.nom_produit = nom_produit
            self.chemin_produit = chemin_produit
        def affiche(self):
            print self.nom_produit, self.chemin_produit
     
    class Feuille(Produit):
        """feuille"""
        def __init__(self,nom_feuille = '',chemin_feuille = ''):
            self.nom_feuille = nom_feuille
            self.chemin_feuille = chemin_feuille
     
    class Flap(Feuille):
        """flap"""
        def __init__(self,nom_flap = '',chemin_flap = ''):
            self.nom_flap = nom_flap
            self.chemin_flap = chemin_flap
     
    class Embout(Flap):
        """embout"""
        def __init__(self,nom_embout = '',chemin_embout = '',parameters = []):
            self.nom_embout = nom_embout
            self.chemin_embout = chemin_embout
            self.parametres = parameters
    parcontre une autre question, si je veux afficher la totalité des valeurs, je suis obligé de bouclé ? ou un print de qqch suffit ? parceque j'arrive à afficher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [<__main__.Produit instance at 0x105a5c710>, <__main__.Produit instance at 0x105a59320>, <__main__.Produit instance at 0x105a5cb48>, <__main__.Produit instance at 0x105a5cdd0>, <__main__.Produit instance at 0x105a5e950>, <__main__.Produit instance at 0x105a5e488>, <__main__.Produit instance at 0x105a5ef80>, <__main__.Produit instance at 0x105a5ff38>, <__main__.Produit instance at 0x105a5f710>, <__main__.Produit instance at 0x105a5ffc8>, <__main__.Produit instance at 0x105a61ea8>, <__main__.Produit instance at 0x105a61518>, <__main__.Produit instance at 0x105a61f38>, <__main__.Produit instance at 0x105a62368>, <__main__.Produit instance at 0x105a64e60>, <__main__.Produit instance at 0x105a648c0>, <__main__.Produit instance at 0x105a64cf8>, <__main__.Produit instance at 0x105a65638>, <__main__.Produit instance at 0x105a65f38>, <__main__.Produit instance at 0x105a677e8>, <__main__.Produit instance at 0x105a67ab8>, <__main__.Produit instance at 0x105a690e0>, <__main__.Produit instance at 0x105a69560>, <__main__.Produit instance at 0x105a6a248>, <__main__.Produit instance at 0x105a6a518>, <__main__.Produit instance at 0x105a6cab8>, <__main__.Produit instance at 0x105a6cc20>, <__main__.Produit instance at 0x105a6d8c0>, <__main__.Produit instance at 0x105a6d680>, <__main__.Produit instance at 0x105a6dfc8>, <__main__.Produit instance at 0x105a6f170>, <__main__.Produit instance at 0x105a6f440>, <__main__.Produit instance at 0x105a6fe60>, <__main__.Produit instance at 0x105a6f320>, <__main__.Produit instance at 0x105a71998>, <__main__.Produit instance at 0x105a71d40>, <__main__.Produit instance at 0x105a73170>, <__main__.Produit instance at 0x105a73a70>, <__main__.Produit instance at 0x105a75290>, <__main__.Produit instance at 0x105a75638>, <__main__.Produit instance at 0x105a75e18>]
    qui correspond aux adresses mémoire, mais si je veux leur contenu :O ?

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Citation Envoyé par moa131 Voir le message

    par contre une autre question, si je veux afficher la totalité des valeurs, je suis obligé de bouclé ? ou un print de qqch suffit ? parceque j'arrive à afficher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [<__main__.Produit instance at 0x105a5c710>, <__main__.Produit instance at 0x105a59320>, <__main__.Produit instance at 0x105a5cb48>, <__main__.Produit instance at 0x105a5cdd0>, <__main__.Produit instance at 0x105a5e950>, <__main__.Produit instance at 0x105a5e488>, <__main__.Produit instance at 0x105a5ef80>, <__main__.Produit instance at 0x105a5ff38>, <__main__.Produit instance at 0x105a5f710>, <__main__.Produit instance at 0x105a5ffc8>, <__main__.Produit instance at 0x105a61ea8>, <__main__.Produit instance at 0x105a61518>, <__main__.Produit instance at 0x105a61f38>, <__main__.Produit instance at 0x105a62368>, <__main__.Produit instance at 0x105a64e60>, <__main__.Produit instance at 0x105a648c0>, <__main__.Produit instance at 0x105a64cf8>, <__main__.Produit instance at 0x105a65638>, <__main__.Produit instance at 0x105a65f38>, <__main__.Produit instance at 0x105a677e8>, <__main__.Produit instance at 0x105a67ab8>, <__main__.Produit instance at 0x105a690e0>, <__main__.Produit instance at 0x105a69560>, <__main__.Produit instance at 0x105a6a248>, <__main__.Produit instance at 0x105a6a518>, <__main__.Produit instance at 0x105a6cab8>, <__main__.Produit instance at 0x105a6cc20>, <__main__.Produit instance at 0x105a6d8c0>, <__main__.Produit instance at 0x105a6d680>, <__main__.Produit instance at 0x105a6dfc8>, <__main__.Produit instance at 0x105a6f170>, <__main__.Produit instance at 0x105a6f440>, <__main__.Produit instance at 0x105a6fe60>, <__main__.Produit instance at 0x105a6f320>, <__main__.Produit instance at 0x105a71998>, <__main__.Produit instance at 0x105a71d40>, <__main__.Produit instance at 0x105a73170>, <__main__.Produit instance at 0x105a73a70>, <__main__.Produit instance at 0x105a75290>, <__main__.Produit instance at 0x105a75638>, <__main__.Produit instance at 0x105a75e18>]
    qui correspond aux adresses mémoire, mais si je veux leur contenu :O ?
    Vous affichez le contenu d'une liste d'objets. "print" se contente d'appliquer la méthode str/repr à votre liste et à chacun de ses éléments. Mais rien ne vous interdit de le faire avec une boucle plus ou moins concise ou de définir les méthodes __str__/__repr__.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> class A(object):
    ...     def __init__(self, a):
    ...         self.a = a
    ...     def __repr__(self):
    ...         return str(self.a)
    ...
    >>> L = [ A(x) for x in range(3) ]
    >>> L
    [0, 1, 2]
    >>> print(L)
    [0, 1, 2]
    En supprimant la méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> del A.__repr__
    >>> print L
    [<__main__.A object at 0x0236D4D0>, <__main__.A object at 0x0236D310>, <__main__
    .A object at 0x0236D4B0>]
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut
    ok, merci, une derniere petite question si je veux utiliser mes 4 tableaux créés dans ma class table dans une fonction d'une autre class, comment je peux faire la liaison entre les deux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    class Table():
     
        def __init__(self):
                for i in range(0,len(self.position_adr)):
                split_chemin = self.position_adr[i].split('/')
                split_parameters = split_chemin[3].split(';')
                self.list_produit.append(Produit((split_chemin[0]+'/'),split_chemin[0]))
                self.list_feuille.append(Feuille((split_chemin[0]+'/'+split_chemin[1]+'/'),split_chemin[1]))
                self.list_flap.append(Flap((split_chemin[0]+'/'+split_chemin[1]+'/'+split_chemin[2]+'/'),split_chemin[2]))
                self.list_embout.append(Embout((split_chemin[0]+'/'+split_chemin[1]+'/'+split_chemin[2]+'/'+split_parameters[0]+'/'),split_parameters[0],split_parameters[1:len(split_parameters)]))
     
            self.list_produit[0].affiche()
    class num2():
        def __init__(self):
              """ blabla"""
        def ici(self):
            """récupérer les 4 tableau self.list_xxxx pour ensuite les traiter"""
    ce qui m'interesse dans la récupération de ces 4 tableaux c'est de pouvoir récupérer le chemin et les diverses données de chaque case du tableau pour remplir un widget. D'où mon besoin de les récupérer, mais je ne trouve pas comment faire :/

    vous en remerciant.
    moa131

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Citation Envoyé par moa131 Voir le message
    ce qui m'interesse dans la récupération de ces 4 tableaux c'est de pouvoir récupérer le chemin et les diverses données de chaque case du tableau pour remplir un widget. D'où mon besoin de les récupérer, mais je ne trouve pas comment faire :
    Pourquoi découper votre programme en classes (ou même en fonctions) si vous ne savez pas recoller les bouts? Je n'ai pas de réponse en quelques lignes à cette question: vous avez pleins de bouquins sur le sujet et même toute une rubrique qui lui est consacrée sur le site ALM.
    Techniquement, vous pouvez considérez "ici" comme une fonction pure et lui passer explicitement les différentes listes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        def ici(self, produits, feuilles, flpas, embout):
            ...
    Vous pouvez aussi dire que:
    • '"ici" va farfouiller dans une instance de Table pour y récupérer les attributs list_produit, list_feuille,... (qui sont "publics).
    • créer un attribut de num2 (self.table) qui sera initialisé par __init__ avec une instance de Table passée en paramètre...
    • ...


    Quel est le meilleur choix de découpage? A vous de voir.

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

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut
    Merci pour toutes vos réponses.
    je prend note et bucher sur tous ca

    Merci

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

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