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 :

problème avec property() [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Mai 2010
    Messages : 14
    Par défaut problème avec property()
    Bonjour,

    je précise que j'utilise python 2.7.
    J'ai un code de la forme

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    class NetworkAnalyser:
     
        def __init__(self, config, cell):
            self._nbPairs    = 0
            self._Z          = 0
            self._P0         = 0
            self._P1         = 0
            self._P2         = 0
            self._P3         = 0
            self._P4         = 0
            self._P5         = 0
            self._P6         = 0
            self.boxPairs    = []
            self.imagesPairs = []
            self.pairs       = []
            self.definePairs(config)
            self.defineImagesPairs(config, cell.L[0])
            self.findStat(config)
     
     
        def _get_Z(self):
            return self._Z
     
        def _set_Z(self, x):
            print " Z is private"
     
     
        def _get_P0(self):
            return self._P0
     
        def _set_P0(self,x):
            print " P0 is private"
     
     
        def _get_P1(self):
            return self._P1
     
        def _set_P1(self, x):
            print " P1 is private"
     
     
        def _get_P2(self):
            return self._P2
     
        def _set_P2(self,x):
            print " P2 is private"
     
     
        def _get_P3(self):
            return self._P3
     
        def _set_P3(self,x):
           print " P3 is private"
     
     
        def _get_P4(self):
            return self._P4
     
        def _set_P4(self,x):
          print " P4 is private"
     
     
        def _get_P5(self):
            return self._P5
     
        def _set_P5(self,x):
           print " P5 is private"
     
     
        def _get_P6(self):
            return self._P6
     
        def _set_P6(self,x):
           print " P6 is private"
     
     
        Z  = property(_get_Z , _set_Z )
        P0 = property(_get_P0, _set_P0)
        P1 = property(_get_P1, _set_P1)
        P2 = property(_get_P2, _set_P2)
        P3 = property(_get_P3, _set_P3)
        P4 = property(_get_P4, _set_P4)
        P5 = property(_get_P5, _set_P5)
        P6 = property(_get_P6, _set_P6)
     
        #des fonctions pour définir les attributs
    j'utilise NetworkAnalyser dans mon fichier principal :

    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
     
            #des trucs
     
            tool = NetworkAnalyser(config, cell)
            print "Z value : " , tool.Z
            print "P0 value : ", tool.P0
            print "P1 value : ", tool.P1
            print "P2 value : ", tool.P2
            print "P3 value : ", tool.P3
            print "P4 value : ", tool.P4
            print "P5 value : ", tool.P5
            print "P6 value : ", tool.P6
            tool.P6 = 1
            print "P6 value : ", tool.P6
     
            #d'autres trucs
    En sortie j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Z value :  0.52
    P0 value :  2
    P1 value :  8
    P2 value :  25
    P3 value :  12
    P4 value :  2
    P5 value :  0
    P6 value :  0
    P6 value :  1
    Ma question : pourquoi property() ne prend pas en compte mon mutateur _set_P6 ?

    Merci ^^

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Kafkana Voir le message
    Ma question : pourquoi property() ne prend pas en compte mon mutateur _set_P6 ?
    Parce qu'avec Python 2.7, ces fonctionnalités ne sont accessibles qu'aux new-class i.e. celles qui dérivent d'object.

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

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Mai 2010
    Messages : 14
    Par défaut
    Oui, en effet, ça marche. Concretement, il suffit de remplacer

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class NetworkAnalyser(object):
    Merci

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

Discussions similaires

  1. [EMF] Problème avec Property page Eclipse E4
    Par galera dans le forum Eclipse Modeling
    Réponses: 0
    Dernier message: 15/09/2014, 12h26
  2. [XCode] débutant : problème avec @property
    Par olivier57b dans le forum Objective-C
    Réponses: 1
    Dernier message: 31/08/2011, 20h47
  3. Problème avec Properties
    Par Himotep dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 09/07/2010, 18h13
  4. Problème avec "formula" sur un property
    Par nighthammer dans le forum Hibernate
    Réponses: 8
    Dernier message: 11/07/2007, 16h00
  5. Problème avec l'attribut property du select
    Par wiam26 dans le forum Struts 1
    Réponses: 3
    Dernier message: 21/09/2006, 16h02

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