Les méthodes de classe
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compteToutes les questions

madem
2 juillet 2025
Résolue
1 réponse
Différence entre méthode de classe et méthode normale
J'ai un peu de mal à voir l'interêt des méthodes de classe.
Dans le code ci-dessous, ma méthode fiat() n'est pas une méthode de classe à proprement parlé vu que je n'ai pas mis le décorateur. Mais pourtant elle fait la même chose que les méthodes mercedes ou porsche non ?
```python
class Voiture:
def __init__(self, marque, vitesse, prix):
self.marque = marque
self.vitesse = vitesse
self.prix = prix
@classmethod
def porsche(cls):
return cls("Porsche", 200, 10)
@classmethod
def mercedes(cls):
return cls("Mercedes", 150, 20)
def fiat():
return Voiture("Fiat", 100, 2)
```
Du coup j'ai du mal à quoi ça sert de faire une méthode de class en utilisant le décorateur et en lui passant cls en paramètre alors que je peux faire la même chose sans.
00:00:00 :Dans cette partie, on va voir ce qu'on appelle les méthodes de classe.Alors, les méthodes de classe, c'est une méthode qui, au lieu d'appartenir aux instances,va appartenir directement à la classe.
00:00:11 :Donc, au niveau de la syntaxe, on va utiliser quelque chose qu'on n'a pas encore vu,qui s'appelle les décorateurs.Et donc, en fait, c'est quelque chose qu'on va mettre au-dessus de notre méthode.
00:00:19 :Donc, on a notre méthode ici qui est définie, donc def Lamborghini,et au-dessus de ça, on a un arrow base avec le mot classe méthode.
00:00:26 :Donc, pour définir une méthode comme une méthode de classe,il faut obligatoirement la précéder de cette ligne.Donc, arrow base, classe méthode, tout en minuscule.
00:00:34 :La méthode de classe, ensuite, on va lui passer un paramètre ici,et ce paramètre, là encore, par convention, on va l'appeler CLS,donc qui signifie classe en raccourci.
00:00:44 :Donc, là encore, vous pouvez mettre ce que vous voulez,c'est juste une convention, mais je vous conseille fortement de la suivre.Donc, CLS, ici, ça va représenter, en fait, notre classe voiture.
00:00:53 :On va, en fait, souvent utiliser ces méthodes de classepour retourner une instance de la classe.Donc, vous voyez, ici, en fait, on utilise CLS,et on va utiliser cette méthode Lamborghinipour retourner une instance de ma classe voitureavec directement des paramètres, ici, qui sont prédéfinis.
00:01:10 :Donc, ça va éviter, en fait, d'avoir à se rappeler à chaque foisquelle était la vitesse maximale d'une Lamborghini et son prix.On peut faire une méthode de classe, ici, qu'on va appeler comme ceci,donc c'est-à-dire qu'on va faire une voiture qu'on va appeler Lambo,donc une instance, et on va dire qu'elle est égale à voiture.Lamborghini.
00:01:27 :Donc, là, on a la méthode de classe,et cette méthode de classe va nous retourner une instance d'une voitureavec comme marque Lamborghini, comme vitesse 250 et comme prix 200 000.
00:01:37 :On fait la même chose avec une Porsche,et on se retrouve, donc, avec une Porsche, ici,qui va avoir une marque Porsche, une vitesse de 200 et un prix de 180 000.
00:01:45 :Donc, vous voyez que ça permet, en fait, d'éviter d'avoir à se souvenirtous ces paramètres à chaque fois.Sans les méthodes de classe, il faudrait que je passe automatiquement,à chaque fois que je veux créer une Porsche, à ma classe voiture, ici, la marque.
00:01:57 :Donc, il faudrait que je me souvienne de l'orthographe de Porsche,ensuite, vitesse, savoir que la vitesse maximale est de 200 et que le prix est de 180 000.
00:02:06 :Donc, il faut que je me souvienne de tous ces attributs à chaque fois que je veux créer une Porsche,alors qu'avec les méthodes de classe, on peut la créer beaucoup plus simplement de cette façon-ci.
00:02:14 :Donc, c'est souvent pour ça qu'on utilise les méthodes de classe.Donc, là, on utilise le mot return pour retourner, en fait, cette instance.CLS, ici, ça correspond à notre classe voiture, à laquelle appartient la méthode de classe.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.