Comment créer une classe en Python (programmation orientée objet)

Apprenez à créer une classe en Python. Maîtrisez le constructeur __init__, les méthodes d'instance, le mot-clé self et l'instanciation d'objet.

Essayez cette solution dans l'éditeur

Aperçu

La programmation orientée objet (POO) est un paradigme puissant utilisé pour modéliser des entités du monde réel, structurer des applications et promouvoir la réutilisabilité du code. En Python, tout est un objet et les classes sont les modèles à partir desquels les objets individuels sont créés. La création d'une classe vous permet de regrouper des attributs de données et des fonctions.

Pour définir une classe, vous utilisez le mot-clé `class` suivi du nom de la classe (écrit classiquement en PascalCase). A l'intérieur de la classe, la méthode la plus importante est le constructeur : `__init__(self, ...)`. Cette méthode magique spéciale est automatiquement exécutée lorsque vous instanciez la classe, initialisant ainsi les attributs de données de départ de l'objet.

Le paramètre `self` représente l'instance spécifique de la classe que vous êtes en train de créer ou de modifier. Chaque méthode d'instance au sein de la classe doit accepter « self » comme premier argument. Les méthodes d'instance sont des fonctions définies à l'intérieur de la classe qui opèrent sur les attributs de l'objet, permettant une encapsulation propre de la logique.

Sortie de code et d'exécution

Ce script illustre la création d'une classe, la définition des propriétés, les méthodes d'instance de classe et la création d'objets.

# 1. Defining a class
class User:
    def __init__(self, username, email):
        self.username = username
        self.email = email
        self.active = True  # Default attribute

    def get_info(self):
        status = "Active" if self.active else "Inactive"
        return f"User: {self.username} | Email: {self.email} | Status: {status}"

# 2. Instantiating objects of the class
user1 = User("codeguy", "guy@example.com")
user2 = User("pygirl", "girl@example.com")

# 3. Accessing attributes and invoking methods
print(user1.get_info())
print(user2.username, "has email", user2.email)
Sortie terminale
User: codeguy | Email: guy@example.com | Status: Active
pygirl has email girl@example.com

Mise en œuvre étape par étape

  • Utilisez le mot-clé class pour déclarer le modèle de classe.
  • Définissez le constructeur __init__(self, ...) pour configurer les attributs initiaux.
  • Ajoutez des méthodes d'instance qui acceptent self comme premier paramètre pour fonctionner avec l'état de l'objet.
  • Appelez ClassName(...) pour instancier et créer une nouvelle instance d'objet.

Foire aux questions

Que représente le paramètre self ?

Il fait référence à l’instance spécifique de l’objet créé ou manipulé. Il est nécessaire de lier les attributs à l'instance.

Une classe peut-elle avoir des attributs partagés entre toutes les instances ?

Oui, ce sont des attributs de classe. Définissez-les directement sous l'en-tête de classe (en dehors de __init__) et accédez-y en utilisant ClassName.attribute.

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.