Méthodes de classe et d'instance
Le guide de style PEP 8 de Python recommande d'utiliser "self" pour les premiers arguments de la méthode d'instance et "cls" pour la classe premiers arguments de la méthode. Comprendre la distinction entre ces deux types de méthodes est crucial pour une programmation orientée objet efficace.
Les méthodes d'instance sont associées à des instances spécifiques d'une classe. Ils opèrent sur les données de l'instance et reçoivent généralement « self » comme premier argument. Lors de l'accès à une méthode d'instance comme, par exemple, object.method(), l'instance est automatiquement transmise à la méthode.
Par exemple, considérons la définition de classe suivante :
class Person:
def __init__(self, name):
self.name = name
def greet(self):
print("Hello, my name is", self.name)
Ici, "greet()" est une méthode d'instance qui peut être invoquée sur n'importe quelle instance de la classe "Person" avec "object.greet( )".
Les méthodes de classe, en revanche, sont associées à la classe elle-même plutôt qu'à des instances individuelles. Ils reçoivent "cls" comme premier argument, qui représente la classe. Les méthodes de classe sont utilisées pour les tâches qui concernent la classe dans son ensemble, telles que la création de nouvelles instances ou l'accès aux données au niveau de la classe.
L'extrait de code suivant illustre une méthode de classe :
class Math:
@classmethod
def sum(cls, a, b):
return a b
La méthode "Math.sum()" prend deux arguments qui sont additionnés et renvoyés. Puisqu'il s'agit d'une méthode de classe, vous pouvez l'invoquer directement en tant que Math.sum(1, 2) pour obtenir le résultat.
En comprenant la différence entre les méthodes d'instance et de classe, les développeurs peuvent exploiter efficacement toutes les capacités de l'objet Programmation orientée en Python.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3