Menu
Coddy logo textTech

Le paramètre self

Fait partie de la section Object Oriented Programming du Journey Python de Coddy — leçon 4 sur 64.

Le paramètre self fait référence à l'instance d'une classe au sein des méthodes. Il vous permet d'accéder aux attributs de l'objet actuel et de les modifier.

Voici un exemple d'une classe avec des méthodes utilisant self :

class Car:
    def honk(self):
        print("Beep beep!")
    
    def describe(self):
        print(f"I am a {self.color} {self.model}")

Le paramètre self doit toujours être le premier paramètre dans les définitions de méthodes. Il indique à la méthode quel objet spécifique est utilisé.

Créez un objet voiture et ajoutez des attributs :

my_car = Car()
my_car.color = "Red"
my_car.model = "Sedan"

Maintenant, appelez les méthodes :

my_car.honk()
my_car.describe()

Sortie :

Beep beep!
I am a Red Sedan

Remarquez que lors de l'appel de my_car.describe(), vous ne passez rien pour self - Python passe automatiquement my_car comme paramètre self.

Voici ce qui se passe en coulisses :

# Quand vous écrivez ceci :
my_car.describe()

# Python fait en réalité ceci :
Car.describe(my_car)

Le paramètre self permet à chaque objet d'accéder à ses propres données. Sans self, les méthodes ne sauraient pas quels attributs d'objet utiliser.

Point clé : incluez toujours self comme premier paramètre dans les définitions de méthodes, mais ne le passez jamais lors de l'appel de méthodes - Python gère cela automatiquement.

challenge icon

Défi

Facile

Complétez la classe Car dans car.py en ajoutant une méthode appelée display_info qui utilise le paramètre self pour afficher l'année, la marque et le modèle de la voiture au format :

"This car is a [year] [make] [model]".

  • car.py : Contient la définition de la classe Car où vous ajouterez la méthode display_info
  • driver.py : Fichier d'exécution principal qui importe et utilise la classe Car

Le fichier driver.py importera votre classe Car et créera des instances pour tester votre implémentation. Assurez-vous que votre méthode fonctionne correctement lorsqu'elle est appelée depuis le fichier driver.

Aide-mémoire

Le paramètre self fait référence à l'instance d'une classe au sein des méthodes et vous permet d'accéder aux attributs de l'objet actuel et de les modifier.

self doit toujours être le premier paramètre dans les définitions de méthodes :

class Car:
    def honk(self):
        print("Beep beep!")
    
    def describe(self):
        print(f"I am a {self.color} {self.model}")

Créez un objet et ajoutez des attributs :

my_car = Car()
my_car.color = "Red"
my_car.model = "Sedan"

Appelez les méthodes (Python passe automatiquement l'objet en tant que self) :

my_car.honk()        # Beep beep!
my_car.describe()    # I am a Red Sedan

Point clé : incluez toujours self comme premier paramètre dans les définitions de méthodes, mais ne le passez jamais lors de l'appel des méthodes.

Essayez vous-même

from car import Car

# Testez votre code
my_car = Car()
my_car.year = 2020
my_car.make = "Toyota"
my_car.model = "Corolla"

my_car.display_info()  # Devrait afficher : This car is a 2020 Toyota Corolla
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Object Oriented Programming