Maison >développement back-end >Tutoriel Python >Que sont « self » et « __init__ » dans la programmation orientée objet Python ?

Que sont « self » et « __init__ » dans la programmation orientée objet Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-26 08:00:14904parcourir

What are `self` and `__init__` in Python Object-Oriented Programming?

Comprendre init et soi en Python POO

Lors de l'apprentissage de la programmation orientée objet (POO) en Python, un peut rencontrer la méthode init et la variable self. Ces concepts jouent un rôle crucial dans les définitions de classe et l'instanciation d'objets.

Qu'est-ce que self ?

En Python OOP, self est une variable spéciale qui représente une instance du classe. Elle est classiquement utilisée comme premier paramètre des méthodes et fonctions d'instance, comme le montre l'exemple :

def method(self, blah):
    # ...

La variable self est une référence à l'instance actuelle de la classe. Il permet d'accéder aux attributs et méthodes de l'instance au sein de la méthode. Sans se déclarer explicitement, la méthode n'accepterait qu'un seul argument au lieu de deux.

Qu'est-ce que __init__ ?

La méthode init est une méthode spéciale méthode qui sert de constructeur à une classe. Il est appelé automatiquement lorsqu'un objet de cette classe est créé. Son but est d'initialiser les attributs de l'instance et de configurer les propriétés de classe nécessaires.

Par exemple :

class A(object):
    def __init__(self):
        self.x = 'Hello'

    def method_a(self, foo):
        print(self.x + ' ' + foo)

Dans cet exemple, la méthode init initialise l'instance attribut x avec la valeur 'Bonjour'. La méthode method_a imprime ensuite la valeur de x concaténée avec le paramètre foo.

Nécessité de init et self

Les deux init et self sont des composants essentiels de la POO en Python. Ils permettent aux objets d'avoir un état (attributs) et des méthodes qui opèrent sur cet état. Sans self, il serait impossible d'accéder aux attributs et aux méthodes spécifiques à une instance au sein des méthodes. De même, sans la méthode init, il ne serait pas possible d'initialiser les attributs d'une instance lors de la création d'un objet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn