78 votes

Est-il nécessaire d'inclure __init__ comme première fonction à chaque fois dans une classe en Python ?

En Python, je veux savoir s'il est nécessaire d'inclure __init__ comme première méthode lors de la création d'une classe, comme dans l'exemple ci-dessous :

 class ExampleClass: 

    def __init__(self, some_message): 
        self.message = some_message 
        print "New Class instance created, with message:" 
        print self.message 

Aussi, pourquoi utilisons-nous self pour appeler des méthodes ? Quelqu'un peut-il expliquer en détail l'utilisation de "self" ?

Aussi, pourquoi utilisons-nous l' pass en Python ?

17voto

joaquin Points 22450

En plus des autres réponses, un point de votre question qui n'a pas été abordé :

Est-il nécessaire d'inclure __init__ comme première fonction à chaque fois dans une classe en Python ?

La réponse est non. Dans le cas où vous avez besoin d'un constructeur, il peut être situé à n'importe quelle position de votre code, bien que l'endroit conventionnel et logique soit le début.

12voto

Lucas Kauffman Points 1470

Vous n'avez pas besoin de le mettre dans votre classe, c'est le constructeur de l'objet.

Vous en aurez besoin si vous voulez que des choses se produisent automatiquement avec votre objet lorsqu'il est instancié.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X