Les classes Python sont comme des plans de cons­truc­tion ou des gabarits. Elles per­met­tent d’écrire du code réu­ti­li­sable sous forme d’attributs et de méthodes de classe.

Classe Python : qu’est-ce que c’est ?

Une classe est un concept abstrait qui définit les attributs et les méthodes qu’un objet peut avoir. Les classes Python servent de modèle pour la création d’objets concrets qui sont des instances de cette classe. Par exemple, une classe peut s’appeler voiture, qui possède des attributs tels que la couleur et la marque, ainsi que les méthodes conduire__ ou freiner__.

Chaque objet d’une classe peut avoir ses propres valeurs pour les attributs, mais partage les méthodes et le cadre com­por­te­men­tal de base avec d’autres instances de la même classe. Par exemple, un objet ma_voiture de la classe voiture peut être créé avec la couleur __Rouge__ et la marque __Toyota__, et les méthodes conduire__ ou freiner__ de la classe seront au­to­ma­ti­que­ment trans­fé­rées à l’instance.

Créer des classes Python

En Python, vous dé­fi­nis­sez les classes à l’aide du mot-clé class.

class MyClass:
    # Constructor method called when creating an object
    def __init__(self, attribute1, attribute2):
        self.attribute1 = attribute1
        self.attribute2 = attribute2
    # Method defined within the class
    def my_method(self):
        return f"Attribute 1: {self.attribute1}, Attribute 2: {self.attribute2}"
python

Dans ce code Python, nous créons une classe appelée MyClass. Celle-ci possède un cons­truc­teur __init__ qui est appelé lors de la création d’un objet et qui ini­tia­lise deux attributs, attribute1 et attribute2. La méthode my_method renvoie une chaîne de ca­rac­tères formatée qui contient les valeurs de ces attributs.

Pour dériver un objet de cette classe, utiliser le nom de la classe suivi de pa­ren­thèses :

object1 = MyClass("Value 1", "Value 2")
# Calling a method of the object
result = object1.my_method()
python
Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus

Exemples d’uti­li­sa­tion des classes Python

Les classes Python peuvent créer des systèmes complexes et des relations entre dif­fé­rentes entités. Ci-dessous, nous pré­sen­tons des pos­si­bi­li­tés de tra­vail­ler avec des classes Python.

La fonction __str()__

La fonction __str__() de Python est une méthode spéciale que vous pouvez définir dans les classes Python. Lorsqu’elle est im­plé­men­tée, elle renvoie une chaîne de ca­rac­tères qui re­pré­sente une re­pré­sen­ta­tion con­vi­viale d’un objet. Vous pouvez appliquer la fonction str() di­rec­te­ment à l’objet ou la combiner avec une ins­truc­tion print().

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def __str__(self):
        return f"Name: {self.name}, Age: {self.age}"
person1 = Person("Alice", 30)
print(person1) # Output: Name: Alice, Age: 30
python

Dans notre code, la méthode __str__() crée dans la classe Person une chaîne de ca­rac­tères formatée contenant le nom et l’âge d’une personne. Quand print(person1) est exécutée, elle appelle au­to­ma­ti­que­ment la méthode __str__() de l’objet person1 et affiche la chaîne de ca­rac­tères renvoyée par cette méthode.

Définir des méthodes dans les classes Python

En Python, vous avez la pos­si­bi­lité de définir des méthodes au sein d’une classe pour effectuer des opé­ra­tions sur les objets de cette classe. Ces méthodes peuvent ensuite être appelées par les objets créés.

class Rectangle:
    def __init__(self, length, width):
        self.length = length
        self.width = width
     
    def area(self):
        return self.length * self.width
    def perimeter(self):
        return 2 * (self.length + self.width)
# Creating an object of the class
my_rectangle = Rectangle(5, 10)
# Calling methods of the object
area = my_rectangle.area()
perimeter = my_rectangle.perimeter()
# Printing the calculated values
print("Area =", area) # Output: Area = 50
print("Perimeter =", perimeter) # Output: Perimeter = 30
python

Dans cet exemple Python, nous créons la classe Rectangle, qui comprend les deux méthodes area() et perimeter(). Celles-ci servent à calculer la surface et le périmètre d’un rectangle, en se basant sur les valeurs de longueur et de largeur passées lors de l’ini­tia­li­sa­tion de l’objet. En Python, self dans une méthode de classe re­pré­sente une référence à l’objet courant sur lequel la méthode est appliquée.

L’objet my_rectangle est créé avec une longueur de 5 et une largeur de 10. Ensuite, nous appelons les méthodes area() et perimeter() sur cet objet pour calculer les valeurs cor­res­pon­dantes.

Modifier les pro­prié­tés des objets

L’opérateur de point . peut être utilisé pour accéder aux attributs spé­ci­fiques de l’objet et mettre à jour leurs valeurs. Il est possible d’attribuer di­rec­te­ment de nouvelles valeurs à l’attribut.

person1.name = "Sarah"
person1.age = 35
python

Le mot-clé del sert à supprimer les pro­prié­tés d’un objet.

del person1.name
python
Note

Vous devez tenir compte du fait que les variables d’instance sont dif­fé­rentes de Python Class Variables. Les variables de classe sont définies en dehors du cons­truc­teur et ne peuvent être modifiées qu’en utilisant le nom de la classe.

Aller au menu principal