Une classe dans Python est un plan pour créer des objets. Il résume les données pour l'objet et les méthodes pour manipuler ces données. Les classes fournissent un moyen de regrouper des données et des fonctionnalités, ce qui facilite la création et la gestion de programmes complexes.
Pour définir une classe dans Python, vous utilisez le mot-clé class
suivi du nom de la classe, généralement dans CamelCase. À l'intérieur de la définition de la classe, vous pouvez définir des méthodes et des attributs. Voici un exemple simple de définition d'une classe:
<code class="python">class Dog: def __init__(self, name, age): self.name = name self.age = age def bark(self): return "Woof!"</code>
Pour instancier une classe, vous créez une instance de la classe en appelant la classe comme s'il s'agissait d'une fonction. Ce processus est connu sous le nom d'instanciation, et il appelle la méthode __init__
de la classe pour configurer la nouvelle instance. Voici comment créer une instance de la classe Dog
:
<code class="python">my_dog = Dog("Buddy", 5) print(my_dog.name) # Output: Buddy print(my_dog.age) # Output: 5 print(my_dog.bark()) # Output: Woof!</code>
Les composantes clés d'une classe Python sont:
Dog
, name
et age
sont des attributs.bark
est une méthode dans la classe Dog
.__init__
) : Cette méthode spéciale est appelée lorsqu'une nouvelle instance de la classe est créée. Il initialise les attributs de l'instance. Dans la classe Dog
, __init__
prend name
et age
comme paramètres et les définit comme des attributs.Voici un exemple incorporant tous ces composants:
<code class="python">class Dog: # Class variable species = "Canis familiaris" def __init__(self, name, age): # Instance attributes self.name = name self.age = age # Instance method def bark(self): return "Woof!" # Another instance method def description(self): return f"{self.name} is {self.age} years old."</code>
L'héritage est une caractéristique puissante de la programmation orientée objet qui permet à une classe d'hériter des attributs et des méthodes d'une autre classe. Cela favorise la réutilisation du code en vous permettant de créer de nouvelles classes basées sur celles existantes sans avoir à réécrire le même code.
Pour utiliser l'héritage dans Python, vous spécifiez la classe des parents entre parenthèses après le nom de la classe infantile. Voici un exemple:
<code class="python">class Animal: def __init__(self, name): self.name = name def speak(self): pass class Dog(Animal): def __init__(self, name, breed): # Call the parent class's __init__ method super().__init__(name) self.breed = breed def speak(self): return "Woof!" class Cat(Animal): def __init__(self, name, color): super().__init__(name) self.color = color def speak(self): return "Meow!"</code>
Dans cet exemple, Dog
et Cat
héritent de Animal
. Dog
et Cat
ont l'attribut name
et la méthode speak
, mais ils ont également leurs propres attributs et comportements spécifiques. L'appel super().__init__(name)
dans les méthodes __init__
des classes de l'enfant garantit que l'initialisation de la classe parent est effectuée.
La principale différence entre une variable de classe et une variable d'instance dans Python est leur portée et la façon dont ils sont accessibles et utilisés:
Variable de classe : une variable de classe est partagée entre toutes les instances d'une classe. Il est défini dans la classe mais en dehors de toute méthode. Les variables de classe sont utiles pour stocker des données qui devraient être les mêmes pour toutes les instances de la classe.
Exemple:
<code class="python">class Dog: # Class variable species = "Canis familiaris" def __init__(self, name): self.name = name dog1 = Dog("Buddy") dog2 = Dog("Bella") print(dog1.species) # Output: Canis familiaris print(dog2.species) # Output: Canis familiaris # Changing the class variable affects all instances Dog.species = "Canis lupus familiaris" print(dog1.species) # Output: Canis lupus familiaris print(dog2.species) # Output: Canis lupus familiaris</code>
Variable d'instance : une variable d'instance est unique à chaque instance d'une classe. Il est défini dans les méthodes de la classe, généralement dans la méthode __init__
, et est préfixé avec self
. Les variables d'instance stockent des données qui peuvent varier d'une instance à une autre.
Exemple:
<code class="python">class Dog: def __init__(self, name): # Instance variable self.name = name dog1 = Dog("Buddy") dog2 = Dog("Bella") print(dog1.name) # Output: Buddy print(dog2.name) # Output: Bella # Changing an instance variable only affects that instance dog1.name = "Max" print(dog1.name) # Output: Max print(dog2.name) # Output: Bella</code>
En résumé, les variables de classe sont partagées entre toutes les instances d'une classe, tandis que les variables d'instance sont spécifiques à chaque instance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!