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 :

POO-Utiliser des chevrons


Sujet :

Python

Vue hybride

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

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut POO-Utiliser des chevrons
    Bonjour,
    désolé pour ce titre mais je n'ai pas trouvé mieux.

    Existe-t-il un moyen de définir un objet monObjet et d'appeler une méthode via monObjet<mesArguments> ?

  2. #2
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    avec monObjet<5>, je ne pense pas, mais avec monObject[5], oui, bien sûr*!

    Il suffit de donner à la classe de monObjet les fonctions qui la rendront “subscriptable” –*au minimum, __getitem__(self, key), qui devra retourner l’objet fonction adéquat*!

  3. #3
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Ah, t’as édité, entre temps…

    Bon, dans ce cas, il faut définir dans la classe de ton objet la fonction __call__(self, *args, **kwargs) (par exemple, seul self est obligatoire*!).

    Dès lors, tous tes objets seront callable, c’est-à-dire qu’ils pourront se comporter comme des fonctions…

  4. #4
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    La joie des messages croisés...

    Citation Envoyé par mont29 Voir le message
    Dès lors, tous tes objets seront callable, c’est-à-dire qu’ils pourront se comporter comme des fonctions…
    Dans ce cas, je ne pourrais qu'utiliser des parenthèses et non des chevrons. i
    Isn't it ?

  5. #5
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Merci (je connaissais dékà __getitem__).

    On fera sans si vraiment c'est impossible.

  6. #6
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Waou… La collision…

  7. #7
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Non, pas de chevrons… Ils ne font pas partie de la syntaxe python, de toute façon, si*?

    EDIT: Mais je ne vois pas pourquoi utiliser des parenthèses te pose problème*? Sauf si c’est une question d’esthétique, évidemment…

  8. #8
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bon, tant pis pour moi.

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

    Citation Envoyé par rambc Voir le message
    Bonjour,
    désolé pour ce titre mais je n'ai pas trouvé mieux.

    Existe-t-il un moyen de définir un objet monObjet et d'appeler une méthode via monObjet<mesArguments> ?
    Ce n'est pas la syntaxe "Python" mais comme c'est "interprété", il ne devrait pars être infaisable d'ajouter une couche à "import" pour qu'il transforme avant de compiler.
    Comme <> n'est pas trop utilisé, un truc "brutal" pourrait faire l'affaire.

    Mais bon... quel est l'intérêt d'un Python "custom" sans valeur ajoutée fonctionnelle?

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

  10. #10
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bonne question.

    En fait ma question vient de ce que ceci est utilisé dans Sage, certains objets utilisent cet technique, et ceci est très pratique.

    Du coup, je serais très curieux de savoir comment cela est fait.

    Si tu as une idée, je suis preneur.

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

    Pas le temps de parcourir le gros tas de doc pour voir les use case.
    Comme ça ressemble à du Python, ils ont peut être hacké sur une surcharge d'opérateurs comme __lt__ et __gt__.
    Mais c'est juste une idée à 3 balles.

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

  12. #12
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Je m'abonne à la liste de Sage, je leur pose la question, et je posterais ici la solution si on me la donne.

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

Discussions similaires

  1. Problème POO utilisation des package
    Par Christophe53 dans le forum Langage
    Réponses: 12
    Dernier message: 10/03/2011, 16h19
  2. [PHP 5.2] [POO] Utiliser des fonction statique ou un héritage
    Par pierrot10 dans le forum Langage
    Réponses: 16
    Dernier message: 28/03/2010, 21h03
  3. [PHP 5.2] [POO] Utilisation des exceptions
    Par Huntress dans le forum Langage
    Réponses: 17
    Dernier message: 09/09/2009, 12h28
  4. [POO] utilisation des packages Java en javascript
    Par developppez dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/05/2008, 11h08
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

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