896 votes

Python __init__ et self que font-ils ?

Je suis en train d'apprendre le langage de programmation Python, et j'ai rencontré certaines choses que je ne comprends pas entièrement. Je viens d'une formation en C, mais je n'ai jamais été très loin dans ce domaine non plus.

Ce que j'essaie de comprendre c'est :

Dans une méthode :

def method(self, blah):
    def __init__(?):
        ....
    ....

Qu'est-ce que le soi fait ? Qu'est-ce qu'il est censé être ? et est-il obligatoire ?

Que fait le __init__ méthode faire ? pourquoi est-ce nécessaire ? etc

Je pense qu'ils pourraient être des constructions d'Oop, mais je ne sais pas beaucoup

13voto

maxyfc Points 3478

Ce sont des constructions OOP. Si vous êtes un débutant en POO, il va être difficile de les expliquer en quelques phrases.

Voici un tutoriel qui présente la POO en Python. Il fournit également quelques réponses à vos questions :

http://www.voidspace.org.uk/python/articles/OOP.shtml

3voto

David Z Points 49476

Vous avez raison, ce sont des constructions orientées objet. En gros, self est une référence (un peu comme un pointeur, mais self est une référence spéciale que vous ne pouvez pas assigner à) à un objet, et __init__ est une fonction qui est appelée pour initialiser l'objet - c'est-à-dire définir les valeurs des variables, etc. - juste après que la mémoire lui ait été allouée.

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