Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / question sur les méthodes commençant par _

question sur les méthodes commençant par _

Remonter à Forum général Python
  • question sur les méthodes commençant par _

    Envoyé par batmeh le 15 Mai 2006 à 15:39
    Salut tous,
    A quoi corresond le _ qui précède une méthode de classe ?
    Merci et pardon :-$
    • Re: question sur les méthodes commençant par _

      Envoyé par linuxprog le 15 Mai 2006 à 18:21
      Bonjour

      dans python comme dans n'importe quel autre language de programmation l'ajout de fonctionnalité ce fait par l'installation de nouveau module , ce dernier contient des classes et des fonctions .
      normalement ces classes et fonctions peuvent etre utilisé une fois le module ou le site-package installé , mais il se peut que le developpeur de ces dernier ne veux pas que c'est classes soient utilisé par un simple appel donc on ajoute _avant la declaration de ces classes et fonctions ,comme ca si on tape dans l'IDLE help('module') les classes et fonctions comencant par _ ne sont pas affiché
    • Re: question sur les méthodes commençant par _

      Envoyé par haypo le 16 Mai 2006 à 01:12
      "_" indique qu'un attribut est protégé et "__" indique qu'il est privé.

      Protégé : comme l'indique linuxprog, c'est plus informatif que vraiment "caché". La convention (si elle existe) veut que seul la classe ou ses fils y accèdent. On définira une propriété pour la rendre accessible :

      class Classe:
      _protege = 42
      def _litProtege(self):
      return self._protege
      protege = property(_litProtege)

      L'attribut est en lecture seule. La méthode _litProtege() ne devrait pas être appelée directement.

      Privé : Seule la classe (même pas ses fils) peut y accéder.

      Note: il est en fait possible d'accéder à un attribut privé, encore une fois, c'est plus une convention qu'une mesure de sécurité.

      Haypo
Rendu par Ploneboard