Classes en Python : Concepts fondamentaux
Classes en Python : Concepts fondamentaux
1. Qu’est-ce qu’une classe ?
Une classe en Python est un plan ou un modèle pour créer des objets. Elle définit les caractéristiques (attributs) et les comportements (méthodes) que les objets de cette classe auront.
2. Création d’une instance
Une instance est un objet spécifique créé à partir d’une classe.
3. Comprendre la différence entre classe et instance
- La classe est le modèle général (comme un plan d’architecte).
- L’instance est un objet spécifique créé à partir de ce modèle (comme une maison construite selon le plan).
Exemple :
Dans cet exemple, Voiture
est la classe, tandis que voiture1
et voiture2
sont des instances de cette classe.
4. Comprendre ‘self’
self
est une convention en Python pour référencer l’instance actuelle de la classe. C’est le premier paramètre de toutes les méthodes d’instance.
4.1 Rôle de ‘self’
self
permet à la méthode de savoir sur quelle instance spécifique elle travaille.- Il est automatiquement passé par Python lors de l’appel d’une méthode sur une instance.
Dans cet exemple : - self.marque = marque
stocke la marque pour cette instance spécifique. - Dans description()
, self.marque
fait référence à la marque de l’instance sur laquelle la méthode est appelée.
5. Méthode init
__init__
est une méthode spéciale en Python, appelée constructeur. Elle est automatiquement appelée lors de la création d’une nouvelle instance.
6. Attributs de classe vs attributs d’instance (version étendue)
6.1 Attributs de classe
Ils sont partagés par toutes les instances de la classe, mais peuvent être modifiés au niveau de l’instance.
Dans cet exemple, ma_voiture.accident()
modifie l’attribut nombre_de_roues
pour cette instance spécifique, sans affecter la classe ou les autres instances.
6.2 Attributs d’instance
Les attributs d’instance sont spécifiques à chaque objet créé à partir de la classe.
Dans cet exemple, marque
, modele
, et kilometrage
sont des attributs d’instance. Chaque instance de Voiture
a ses propres valeurs pour ces attributs. Modifier un attribut d’instance pour un objet n’affecte pas les autres objets de la même classe.
7. Comprendre ‘self’ en profondeur
self
est une référence à l’instance courante de la classe. C’est le premier paramètre de toute méthode d’instance en Python.
7.1 ‘self’ comme référence à l’instance
Lorsqu’une méthode est appelée sur une instance, Python passe automatiquement cette instance comme premier argument à la méthode.
7.2 ‘self’ est une convention
Bien que ‘self’ soit une convention, on peut techniquement utiliser n’importe quel nom :
Cependant, utiliser ‘self’ est fortement recommandé pour la lisibilité et le respect des conventions.
8. Introduction aux conventions de codage (PEP 8)
PEP 8 est le guide de style pour le code Python. Il fournit des conventions pour écrire du code Python lisible et cohérent.
8.1 Quelques règles importantes de PEP 8 pour les classes :
Noms de classe : Utilisez la convention CapWords (aussi appelée PascalCase).
Noms de méthodes et d’attributs : Utilisez des minuscules avec des underscores pour séparer les mots.
Constantes : Utilisez des majuscules avec des underscores.
Espaces : Pas d’espaces autour des parenthèses ou des crochets, mais un espace après les virgules.
Indentation : Utilisez 4 espaces par niveau d’indentation.
8.2 Importance de PEP 8
Suivre PEP 8 rend votre code : - Plus lisible pour les autres développeurs - Plus cohérent avec la majorité du code Python - Plus facile à maintenir sur le long terme