• STATISTIQUES
  • Il y a eu un total de 1 membres et 6208 visiteurs sur le site dans les dernières 24h pour un total de 6 209 personnes!


    Membres: 2 609
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Astalavista
    JavaScript: 1, Exploit: 2, Crypto: 34, CrackIt: 15, Stegano: 8, Programming: 12, Logic: 36, Special: 6, Science: 4, Info...
    Challenges
    [EN] Sabre Films
    Site de challenge présenté sous la forme d'une quête. Vous êtes un détective et devrez résoudre d...
    Challenges
    [EN] Hack This Site
    Hack This Site est considéré comme un réel terrain d'entraînement légal pour le...
    Hacking
    [EN] Framework Metasploit
    Le Framework Metasploit est un logiciel gratuit, open source de tests de pénétration développ&ea...
    Vulnérabilités
    [EN] Packet Storm
    Packet Storm est un site qui combine nouvelles de la sécurité informatique, téléchargemen...
    Vulnérabilités
    [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités
    [EN] phrack
    Lot's of stuff !
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Python] Probleme attribute Error pour classe
05-11-2012, 19h16 (Modification du message : 08-12-2012, 16h38 par supersnail.)
Message : #1
Atlas Hors ligne
Membre actif
*



Messages : 69
Sujets : 7
Points: 3
Inscription : Aug 2012
[Python] Probleme attribute Error pour classe
Bonsoir à tous ,
je suis un tuto sur le python , j'essaye de créer une classe...
J'ai un problème lors que j'utilise self.items() , j'ai l'erreur :
Citation :AttributeError: 'DictionnaireOrdonne' object has no attribute 'items'

Voici mon code :
Code PYTHON :
#!/usr/local/bin/python3.3
# -*-coding:utf-8 -*

""" Création d'une classe : un dictionnaire ordonné
     L'ordre des données est maintenu
    et il peut donc, contrairement aux dictionnaires usuels, être trié
    ou voir l'ordre de ses données inversées"""


class MaClasse:

    def __init__(self,base={},**donnees):
        """ Constructeur du dictionnaire
              on peut créer le dictionnaire vide
              à l'aide d'un dictionnaire de base
              ou en entrant directement les données      
         """


        self.keys=list()    # liste contenant les clés de notre dictionnaire
        self.values=list()   # liste contenant les valeurs de notre dictionnaire

         # on vérifie que base est un dict ou DictionnaireOrdonne
        if type(base) not in (dict,DictionnaireOrdonne):
           raise TypeError("le type attendu est un dictionnaire ( usuel ou ordonné )")
           
        # on récupere les clés du dictonnaire de base
        for cle in base:
              self[cle] = base[cle]

        # on recupere les clés de données
        for cle in donnees:
            self[cle] = donnees[cle]

    def __repr__(self):
        """Représentation de notre objet. C'est cette chaîne qui sera affichée
        quand on saisit directement le dictionnaire dans l'interpréteur, ou en
        utilisant la fonction 'repr'"""

        chaine = "{"
        premier_passage = True
        for cle, valeur in self.items():
            if not premier_passage:
                chaine += ", " # On ajoute la virgule comme séparateur
            else:
                premier_passage = False
            chaine += repr(cle) + ": " + repr(valeur)
        chaine += "}"
        return chaine

    def __str__(self):
        return __repr__(self)

    def __getitem__(self, index):
        """Cette méthode spéciale est appelée quand on fait objet[index]
        Elle redirige vers self._dictionnaire[index]"""

        for i,key in keys:
            if key == index :
                return self.values(i)

    def items(self):
        for i,key in enumerate(self.keys)
            value = self.value[i]
            yield(key,value)
+1 (0) -1 (0) Répondre
05-11-2012, 22h14
Message : #2
w00dy18 Hors ligne
Membre
*



Messages : 27
Sujets : 4
Points: 5
Inscription : Oct 2012
RE: Probleme attribute Error pour classe
A qu'elle ligne tu as l'erreur ? Sinon tu as déjà oublié un ":" dans for i,key in enumerate(self.keys) à la fin de ton code. Mais je ne crois pas que l'erreur soit de là...
+1 (0) -1 (0) Répondre
06-11-2012, 00h28
Message : #3
Luxerails Hors ligne
Bon membre
*



Messages : 267
Sujets : 6
Points: 67
Inscription : Aug 2011
RE: Probleme attribute Error pour classe
Mh.. l'erreur ne viendrait pas d'ici ?
Code :
# on récupere les clés du dictonnaire de base
        for cle in base:
              self[cle] = base[cle]

        # on recupere les clés de données
        for cle in donnees:
            self[cle] = donnees[cle]

Du coup tu transformerais self en dic et quand tu appelles self.items(), il croit que tu appelles le dic au lieu de la fonction.
+1 (0) -1 (0) Répondre
06-11-2012, 01h16 (Modification du message : 06-11-2012, 01h16 par Atlas.)
Message : #4
Atlas Hors ligne
Membre actif
*



Messages : 69
Sujets : 7
Points: 3
Inscription : Aug 2012
RE: Probleme attribute Error pour classe
je vais essayer de voir si ça ne vient pas de là , désolé pour la lenteur de ma réponse , je suis sous windows j'installe python etc ...

Et merci pour le : oublié !
Ce n'est pas à une ligne précise c'est quand j'essaye d'afficher le dictionnaire en utilisant __repr__


Edit : Je suis sous windows , remis le ":" manquant , et là ça fonctionne nickel , je verrais si cela vient de Linux ou pas ... Merci de votre aide, je poserais les questions ici si d'autre problème apparaissent ou quand je retournerais sous linux
+1 (0) -1 (0) Répondre
06-11-2012, 19h26
Message : #5
w00dy18 Hors ligne
Membre
*



Messages : 27
Sujets : 4
Points: 5
Inscription : Oct 2012
RE: Probleme attribute Error pour classe
Youhou !!! J'ai réussi à être utile Tongue
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Python]Situer mon niveau. InforMods 19 1,152 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [PYTHON] un bot IRC basique darcosion 1 212 13-06-2016, 20h40
Dernier message: Yttrium
  [python] ANBU ::: TCP Session Hunter St0rn 2 270 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 159 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 542 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 359 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 249 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 214 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 161 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 479 15-08-2014, 20h26
Dernier message: sakiir

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut