Cet article aidera le lecteur à comprendre les classes Python de base ainsi que quelques applications de base dans le monde réel. Nous utiliserons Visual Studio Code comme éditeur de code. Si vous n’avez pas installé Visual Studio Code, les instructions sont données dans le premier blog.

Classes et objets Python – table des matières :

  1. Classes Python
  2. Classes Python – définition
  3. Initialisation des classes Python
  4. Écrivons notre première classe Python
  5. Attributs
  6. Comportement de la classe
  7. Objets en Python
  8. Héritage

Classes Python

Comme nous l’avons discuté dans le premier blog, Python est un langage de programmation orienté objet. Il y a trois phrases qui sont très importantes lors de la discussion sur la programmation orientée objet en Python. La première est la classe, la deuxième est un objet, la troisième serait l’héritage. Commençons par ce qu’est une classe.

Classes Python – définition

Une classe est un plan ou un programme extensible qui aide à la création d’objets. Une classe se compose de comportement et d’état. Le comportement d’une classe est démontré par des fonctions à l’intérieur de la classe qui sont appelées méthodes. L’état de la classe est démontré à l’aide des variables à l’intérieur de la classe qui sont appelées attributs.

Initialisation des classes Python

Une classe peut être initialisée en utilisant la syntaxe suivante.

Une classe en python est définie en utilisant le mot-clé “class” suivi du nom de la classe. La syntaxe de base d’une fonction Python est illustrée ci-dessous.

Par exemple :

<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Classes_Python" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" />
# Créer une fonction
# classe Singe
class classname:

Remarque : le nom de la classe a également les mêmes normes que la déclaration de variable.

Écrivons notre première classe Python

# première classe

class Animaux:
	pass

Dans le bloc de code ci-dessus, nous avons écrit une classe que nous développerons davantage dans le blog. Comme vous pouvez le voir, nous avons utilisé le mot-clé “class”.

Voyons maintenant comment ajouter des composants à la classe des animaux. Mais avant cela, apprenons à propos du constructeur “__init__()”. Les constructeurs sont utilisés pour l’instanciation d’objets. Ici, le __init__() est utilisé pour l’instanciation d’objets. Le constructeur peut être par défaut avec seulement self comme argument ou paramétré avec les arguments requis.

Attributs

Il existe deux types différents d’attributs, les premiers sont des variables de classe et les seconds sont des variables d’instance. Les variables de classe sont les variables qui appartiennent à la classe. De plus, ces variables sont disponibles pour toutes les instances de la classe. Par conséquent, leur valeur ne changera pas même si l’instance change.

# variables de classe

class Animaux:
	type=”mammifères”

Les variables d’instance sont les variables qui appartiennent aux instances elles-mêmes. Par conséquent, elles changeront leur valeur à mesure que l’instance change.

# variables de classe

class Animaux:
	def __init__(self, pattes):
		self.pattes = pattes
		

Remarque : Les variables d’instance ne sont pas accessibles en utilisant le nom de la classe, car elles changent en fonction de l’objet qui y accède.

Faisons un programme qui a à la fois des variables de classe et d’instance déclarées.

class Animaux:
	type=”mammifères”
	def __init__(self, nom, pattes):
		self.nom = nom
		self.pattes = pattes
	

Dans le programme ci-dessus, nous avons utilisé à la fois des variables d’instance et de classe. Ainsi, ces variables forment des attributs de la classe.

Comportement de la classe

Comme discuté, le comportement de la classe est défini par les méthodes à l’intérieur de la classe. Mais avant de passer à la discussion sur le comportement, nous devons commencer à discuter du paramètre “self”, que nous avons utilisé dans le __init__().

Self :

En termes très simples, chaque fois que nous attachons quelque chose à self, cela signifie que la variable ou la fonction appartient à cette classe. De plus, avec “self”, les attributs ou méthodes de la classe peuvent être accessibles.

Méthodes :

Les méthodes de classe sont des fonctions à l’intérieur de la classe qui auront leur premier argument comme “self”. Une méthode à l’intérieur de la classe est définie en utilisant le mot-clé “def”.

class Animaux:
	type=”mammifères”
	def __init__(self, nom, pattes):
		self.nom = nom
		self.pattes = pattes
	def aboyer(self):
		if self.nom == ”chien”:
			print(“ouaf ouaf !!!”)
		else:
			print(“pas un chien”)
 

Dans la méthode ci-dessus “aboyer”, comme nous utilisons la variable nom, qui est une variable d’instance, nous y accédons en utilisant “self” et cette fonction imprimerait “ouaf ouaf !!!”, seulement si le nom fourni à l’objet est chien.

Nous avons discuté de la plupart des composants d’une classe, mais vous pourriez vous demander comment voir si la classe fonctionne. La réponse à cela est qu’à moins que nous ne créions un objet de la classe, nous ne pourrons pas voir ce que fait la classe. Maintenant, définissons et créons un objet de la classe.

Objets en Python

Un objet est une instance de la classe. Une classe n’est qu’un plan, mais l’objet est une instance de la classe qui a des valeurs réelles.

Le code pour définir ou créer un objet est illustré ci-dessous.

class Animaux:
	type=”mammifères”
	def __init__(self, nom, pattes):
		self.nom = nom
		self.pattes = pattes
	def aboyer(self):
		if self.nom == ”chien”:
			print(“ouaf ouaf !!!”)
		else:
			print(“pas un chien”)
 
chien = Animaux(“chien”, 4)
 

Pour créer un objet, la syntaxe est le nomdelobjet = nomdelaclasse(arguments). Ainsi, ici nous donnons le nom de l’animal comme chien et le nombre de pattes comme 4. Maintenant, l’objet de la classe est créé, l’étape suivante consiste à utiliser l’objet pour accéder à ses attributs. Pour accéder aux attributs d’une classe en utilisant l’objet, rappelez-vous que seules les variables d’instance peuvent être accessibles en utilisant l’objet. Les variables d’instance dans notre classe sont nom et pattes.

class Animaux:
	type=”mammifères”
	def __init__(self, nom, pattes):
		self.nom = nom
		self.pattes = pattes
	def aboyer(self):
		if self.nom == ”chien”:
			print(“ouaf ouaf !!!”)
		else:
			print(“pas un chien”)
 
chien = Animaux(“chien”, 4)
print(chien.nom)
print(chien.pattes)
 

Comme nous pouvons le voir, nous sommes capables d’accéder aux variables d’instance en utilisant la notation par point.

Explorons la sortie.

#Sortie

chien
4

Pour accéder aux fonctions à l’intérieur de la classe ou aux méthodes, nous utiliserons la notation par point. L’exemple est illustré ci-dessous.

class Animaux:
	type=”mammifères”
	def __init__(self, nom, pattes):
		self.nom = nom
		self.pattes = pattes
	def aboyer(self):
		if self.nom == ”chien”:
			print(“ouaf ouaf !!!”)
		else:
			print(“pas un chien”)
 
chien = Animaux(“chien”, 4)
print(chien.nom)
print(chien.pattes)
print(chien.aboyer())
#Sortie

chien
4
ouaf ouaf !!!

Dans l’exemple ci-dessus, nous pouvons voir que nous accédons à la méthode de classe “aboyer” en utilisant l’objet chien que nous avons créé. Nous pouvons voir que nous n’utilisons pas le paramètre “self” dans les arguments de la fonction. Cela est dû au fait que nous n’avons pas besoin d’utiliser “self” en dehors de la classe, car l’objet lui-même agit comme self.

Héritage

L’héritage est un processus par lequel les attributs et méthodes de classe peuvent être transmis à une classe enfant. La classe à partir de laquelle la classe enfant hérite est la classe parente. La syntaxe pour l’héritage est illustrée ci-dessous.

#Héritage

class parent:

class child(parent):

À partir de l’illustration ci-dessus, nous pouvons voir que pour la syntaxe d’héritage, nous plaçons le nom de la classe parente comme argument à la classe enfant. Utilisons la classe Animaux et créons une classe enfant appelée chien. Cela est illustré ci-dessous.

class Animaux:
	type=”mammifères”
	def __init__(self, nom, pattes):
		self.nom = nom
		self.pattes = pattes
	def aboyer(self):
		if self.nom == ”chien”:
			print(“ouaf ouaf !!!”)
		else:
			print(“pas un chien”)

class Chien(Animaux):
	def __init__(self, nom, pattes, race):
		Animaux.__init__(self, nom, pattes)
		self.race = race

Dans le code d’exemple ci-dessus, nous avons créé une classe chien qui étend la classe animaux que nous avons créée auparavant. Nous utilisons également les paramètres de la classe Animaux en utilisant Animaux.__init__(arguments) qui a nom et pattes qui seront hérités à la classe chien. Ensuite, nous créons un attribut d’instance pour la classe chien qui est la race.

Maintenant, créons un objet pour la classe chien et accédons aux attributs et méthodes de la classe animaux.

class Animaux:
	type=”mammifères”
	def __init__(self, nom, pattes):
		self.nom = nom
		self.pattes = pattes
	def aboyer(self):
		if self.nom == ”chien”:
			print(“ouaf ouaf !!!”)
		else:
			print(“pas un chien”)

class Chien(Animaux):
	def __init__(self, nom, pattes, race):
		Animaux.__init__(self, nom, pattes)
		self.race = race

pug = Chien("chien", 4, "pug")
pug.race
pug.nom
pug.pattes
pug.aboyer()
#Sortie

pug
chien
4
ouaf ouaf !!!

Comme nous pouvons le voir dans la sortie, les attributs et méthodes de la classe parente sont accessibles par l’objet de la classe enfant.

Dans ce blog, nous avons couvert quelques bases des classes en Python. Dans le prochain article de blog, nous aborderons le sujet de la gestion des fichiers.

classes_python

Vous aimerez peut-être aussi notre cours de JavaScript du débutant à l’avancé.

Robert Whitney

Expert en JavaScript et instructeur qui forme les départements informatiques. Son objectif principal est d'améliorer la productivité de l'équipe en enseignant aux autres comment coopérer efficacement lors du codage.

View all posts →