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 :

Interface et Python


Sujet :

Python

  1. #1
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut Interface et Python
    Bonjour à tous,
    Je suis tout nouveau en Python, et je me pose quelques questions :
    Est-il possible de créer des interfaces (au sens objet) avec Python? et des classes abstraites?
    J'ai cherché, mais je ne trouve pas.
    Si c'est impossible, comment faites-vous pour contourner ces limitations?
    Merci de votre patience...

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Par défaut
    On peut.

    Python est évolué au niveau POO.

  3. #3
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    Citation Envoyé par dahtah Voir le message
    Bonjour à tous,
    Je suis tout nouveau en Python, et je me pose quelques questions :
    Est-il possible de créer des interfaces (au sens objet) avec Python? et des classes abstraites?
    J'ai cherché, mais je ne trouve pas.
    Si c'est impossible, comment faites-vous pour contourner ces limitations?
    Merci de votre patience...
    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
     
    class BaseClass(object):
        def foo(self):
            raise NotImplementedError
     
        def bar(self):
            raise NotImplementedError
     
    class ChildClass(BaseClass):
        def foo(self):
            print 'foo'
     
    instance = ChildClass()
    instance.foo()
    instance.bar()

  4. #4
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Merci,
    une dernière question, avec cette méthode on ne peut implémenter qu'une "interface", en héritant de la classe.
    Comment faites-vous pour le "multi-héritage" (ou implémentation de plusieurs interfaces)? Python permet-il le multi-héritage?
    Merci...

  5. #5
    Membre éclairé Avatar de ctiti60
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Par défaut
    Salut,

    IL y a de l'héritage multiple dans Python. Je te conseille de lire le tutorial de Python qui apporte beaucoup de réponses et qui est rempli d'exemples. Il est normalement installé avec Python. Sinon, tu peux également aller sur le site de Python : http://www.python.org/doc/ ou sur ce site : http://python.developpez.com/cours/TutoVanRossum/

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Par défaut
    Les implémentations "à la java" n'existent pas en python.

  7. #7
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Ce post est plus destiné à savoir quels sont les mécanismes objets de Python. Pour savoir si le codage d'un prochain logiciel est envisageable en Python.
    Pour l'instant, la syntaxe semble alléchante, et l'incorporation de plugin à l'air possible sans trop de difficultés (langage interprèté). De plus, l'implantation des tests unitaires à l'air quasiment intégré au langage.
    Les implémentations "à la java" n'existent pas en python.
    Je cherche pas à faire un parrallèle Java ou C#, mais à savoir comment vous implantez des mécanismes objet classiques (implantation de plusieurs interfaces par exemple).
    Tout le monde au travail me dit que Python n'est qu'un langage de script, mais je commence à sentir qu'un développement complet en Python comporte de nombreux bénéfices...
    Merci,

  8. #8
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Citation Envoyé par ctiti60 Voir le message
    Salut,
    IL y a de l'héritage multiple dans Python. Je te conseille de lire le tutorial de Python qui apporte beaucoup de réponses et qui est rempli d'exemples. Il est normalement installé avec Python. Sinon, tu peux également aller sur le site de Python : http://www.python.org/doc/ ou sur ce site : http://python.developpez.com/cours/TutoVanRossum/
    Merci, je regarde ça...

  9. #9
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    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
     
    class Foo(object):
      def foo(self):
        raise NotImplementedError
     
    class Bar(object):
      def bar(self):
        raise NotImplementedError
     
    class Baz(Foo, Bar):
      def foo(self):
        print 'foo'
     
    baz = Baz()
    baz.foo() # => foo
    baz.bar() # => NotImplementedError

  10. #10
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Citation Envoyé par GnuVince Voir le message
    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
     
    class Foo(object):
      def foo(self):
        raise NotImplementedError
     
    class Bar(object):
      def bar(self):
        raise NotImplementedError
     
    class Baz(Foo, Bar):
      def foo(self):
        print 'foo'
     
    baz = Baz()
    baz.foo() # => foo
    baz.bar() # => NotImplementedError
    Donc multi héritage.
    Merci, GnuVince de tes réponses précises, et merci aux autres.

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

Discussions similaires

  1. Interface C-python structures de données
    Par epsilone88 dans le forum Débuter
    Réponses: 3
    Dernier message: 13/03/2013, 14h24
  2. interface graphique python
    Par djidji22 dans le forum GUI
    Réponses: 5
    Dernier message: 08/06/2012, 10h16
  3. Problème d'interface C/python
    Par heliantine dans le forum C
    Réponses: 10
    Dernier message: 18/04/2012, 13h23
  4. interface en python
    Par elekis dans le forum Général Python
    Réponses: 8
    Dernier message: 12/09/2007, 16h21
  5. Interface graphique python ds eclipse
    Par Terminator dans le forum GUI
    Réponses: 6
    Dernier message: 23/04/2007, 09h54

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