Introduction
Un tutoriel rapide sur la création et l'utilisation des classes en Python
Table des matières
Créer une classe simple en Python
Une classe en Python sert de plan pour créer des objets. Pour définir une classe simple, utilisez le mot-clé class
.
1 2 | class Membre: s = 'Bonjour tout le monde !' |
Ici, Membre
est une classe avec une seule propriété s
.
Créer une instance
Pour créer une instance (objet) de la classe Membre
:
1 | membre_01 = Membre() |
Accéder aux propriétés
Vous pouvez accéder à la propriété s
comme ceci :
1 | print(membre_01.s) |
Sortie :
1 | Bonjour tout le monde ! |
Créer une classe vide
Pour créer une classe sans propriétés ni méthodes, vous pouvez utiliser le mot-clé pass
:
1 2 | class Membre: pass |
Utiliser la méthode __init__()
pour initialiser des propriétés
La méthode __init__()
est un constructeur qui permet d’initialiser les propriétés d’un objet lors de sa création. Voici comment faire :
1 2 3 4 5 | class Membre: def __init__(self, prenom, nom, age): self.prenom = prenom self.nom = nom self.age = age |
Créer et accéder aux objets
Maintenant, lorsque vous créez un objet, vous devez fournir les paramètres requis :
1 2 3 4 5 | membre_01 = Membre("Jean", "Dupont", 24) print(membre_01.prenom) # Sortie : Jean print(membre_01.nom) # Sortie : Dupont print(membre_01.age) # Sortie : 24 |
Vous pouvez créer plusieurs objets avec différentes propriétés :
1 2 3 4 5 | membre_02 = Membre("Emma", "Watson", 30) print(membre_02.prenom) # Sortie : Emma print(membre_02.nom) # Sortie : Watson print(membre_02.age) # Sortie : 30 |
Ajouter des paramètres optionnels avec *args
Le mot-clé *args
vous permet de passer un nombre variable d'arguments à une méthode.
Exemple :
1 2 3 4 5 6 7 8 | class Membre: def __init__(self, prenom, nom, age, *args): self.prenom = prenom self.nom = nom self.age = age if 'Homme' in args: self.genre = 'Homme' |
Utilisation :
1 2 3 | membre_01 = Membre("Jean", "Dupont", 24, 'Homme', 'Blanc') print(membre_01.genre) # Sortie : Homme |
Ajouter des paramètres optionnels avec **kwargs
Le mot-clé **kwargs
permet de passer des arguments nommés qui peuvent être traités comme un dictionnaire.
Exemple :
1 2 3 4 5 6 | class Membre: def __init__(self, prenom, nom, age, **kwargs): self.prenom = prenom self.nom = nom self.age = age self.taille = kwargs.get('taille', None) # Paramètre optionnel |
Utilisation :
1 2 3 | membre_01 = Membre("Jean", "Dupont", 24, taille=1.75, couleur_yeux='vert') print(membre_01.taille) # Sortie : 1.75 |
Définir des méthodes d'objet
Vous pouvez définir des méthodes dans une classe pour effectuer des opérations utilisant les données de l'objet.
Exemple :
1 2 3 4 5 6 7 8 | class Membre: def __init__(self, prenom, nom, age): self.prenom = prenom self.nom = nom self.age = age def nom_complet(self): return f"Nom complet : {self.prenom} {self.nom}" |
Utilisation :
1 2 | membre_01 = Membre("Jean", "Dupont", 24) print(membre_01.nom_complet()) # Sortie : Nom complet : Jean Dupont |
Supprimer un objet
Pour supprimer un objet, utilisez le mot-clé del
:
1 | del membre_01 |
Après suppression, essayer d'accéder à membre_01
lèvera une erreur NameError
.
Créer des classes enfants (Héritage)
Hériter d'une classe parente
Une classe enfant hérite de toutes les propriétés et méthodes de la classe parente.
1 2 3 4 5 6 7 8 9 10 11 | class Membre: def __init__(self, prenom, nom, age): self.prenom = prenom self.nom = nom self.age = age def nom_complet(self): return f"Nom complet : {self.prenom} {self.nom}" class MembrePremium(Membre): pass |
Utilisation :
1 2 | mp1 = MembrePremium("Jean", "Dupont", 24) print(mp1.nom_complet()) # Sortie : Nom complet : Jean Dupont |
Redéfinir le constructeur
Si une classe enfant définit sa propre méthode __init__()
, vous devez explicitement appeler le constructeur de la classe parente :
1 2 3 4 5 6 | class MembrePremium(Membre): def __init__(self, prenom, nom, age): super().__init__(prenom, nom, age) def code_promo(self): return 1234 |
Utilisation :
1 2 | mp1 = MembrePremium("Jean", "Dupont", 24) print(mp1.code_promo()) # Sortie : 1234 |
Références
Liens | Site |
---|---|
Python Classes and Objects | w3schools.com |
Comment utiliser args et *kwargs en Python 3 | digitalocean.com |
Documentation officielle Python sur les classes | docs.python.org |
Héritage en Python | w3schools.com |