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 :

Dictionnaires et surcharge d'opérateurs [Fait]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut Dictionnaires et surcharge d'opérateurs
    Bonjour,

    Je voudrais surcharger l'opérateur * pour multiplier les valeurs contenues dans des dictionnaires. Cette opération est-elle possible ?

  2. #2
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 23
    Par défaut
    oui en redéfinissant la methode __mul__(self, autre)

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    De préférence tu crées une classe qui hérite de dict et tu y définis uniquement les méthodes que tu veux surcharger
    Ici, il faut au moins __mul__(self, autre) (mondict * autre), et tu peux ajouter __imul__(self, autre) (mondict *= autre) et __rmul__(self, autre) (autre * mondict)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Par défaut
    J'en profite pour rebondir... y a-t-il un moyen de surcharger l'operateur (qui n'en est pas un) = ?

    Quand j'ecris 'a = 1', je ne voudrais pas perdre l'objet initialement pointe par l'identifieur 'a', je voudrais plutot faire quelquechose de cet objet avec 1. Avec le '=' standard, mon objet initial est perdu, et l'identifieur 'a' est lie-a-nouveau a l'entier 1.

    Je crois connaitre la reponse, mais bon...

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

Discussions similaires

  1. [C#] Tri d'objet et surcharge d'opérateur
    Par Royd938 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 17/12/2007, 00h26
  2. Petit probléme de surcharge d'opérateur .
    Par Clad3 dans le forum C++
    Réponses: 20
    Dernier message: 11/04/2005, 20h15
  3. Problème de surcharge d'opérateurs
    Par Hell dans le forum C++
    Réponses: 17
    Dernier message: 17/01/2005, 16h01
  4. Cumul de surcharges d'opérateurs
    Par Nats dans le forum C++
    Réponses: 2
    Dernier message: 11/10/2004, 13h37
  5. [VB .NET] Surcharge d'opérateur
    Par Franckintosh dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/09/2004, 19h05

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