Le mot-clé self en Python

Muhammad Waiz Khan 8 mars 2021
Le mot-clé self en Python

Ce tutoriel explique le but et l’utilisation du mot-clé self en Python. Dans la programmation orientée objet, nous avons des classes, et chaque classe possède divers attributs et méthodes. Chaque fois qu’un objet ou une instance d’une classe est créé, le constructeur (méthode __init__() en Python) est appelé pour initialiser les attributs de l’instance.

Lors de la création d’une instance d’une classe, nous devons différencier ou spécifier les attributs de l’instance à partir des arguments et des autres variables. Et c’est là que nous avons besoin du mot-clé self pour spécifier que nous passons la valeur aux attributs de l’instance et non à la variable locale ou à l’argument du même nom.

Supposons que, pour une classe car nous passions l’argument color à la méthode __init__() pour initialiser l’attribut color de la classe car, nous spécifierons l’attribut color de l’instance comme self.color, ce qui montre que la classe car a un attribut color et nous lui assignons la valeur.

De même, nous pouvons aussi appeler les méthodes de l’instance de la classe en utilisant le mot-clé self comme la méthode self.start() de la classe car. En bref, nous pouvons dire que le mot-clé self permet à l’utilisateur de spécifier et d’accéder aux attributs et aux méthodes d’une instance de la classe.

Utilisation et exemples de codes du mot-clé self en Python

Voyons maintenant comment le mot-clé self est utilisé en Python pour spécifier les méthodes et les attributs d’une instance via l’exemple de code.

Le premier exemple de code donné ci-dessous montre comment le mot-clé self est utilisé dans la méthode __init__() pour initialiser les attributs de l’instance en cours d’initialisation. Nous n’avons pas besoin de déclarer ou de créer des variables avant de les initialiser ou de leur attribuer des valeurs, de sorte que nous pouvons initialiser les attributs de l’instance de la manière suivante :

class car:
    def __init__(self, model, color):

        self.model = model
        self.color = color


mycar = car("model XYZ", "red")
print(mycar.model)
print(mycar.color)

Production :

model XYZ
red

Comme on peut le voir ci-dessus, la méthode __init__() est appelée automatiquement lors de la création d’une nouvelle instance de la classe, et ses attributs sont initialisés. Le self doit être le paramètre de la méthode pour accéder aux méthodes et aux attributs des instances.

L’exemple de code ci-dessous montre comment utiliser le mot-clé self pour appeler les méthodes d’instance/classe au sein d’autres méthodes de classe en Python.

class car:
    def __init__(self, model, color):

        self.model = model
        self.color = color

        self.start()

    def start(self):

        print(self.model + ", has started!")


mycar = car("model XYZ", "red")

Production :

model XYZ, has started!

Comme dans l’exemple de code ci-dessus, nous pouvons appeler des méthodes de classe en utilisant le mot-clé self et accéder aux attributs de n’importe quelle méthode de classe en passant l’instance de la classe en tant que paramètre self.

Article connexe - Python Keyword