0% ont trouvé ce document utile (0 vote)
117 vues3 pages

Cours Python

Le document présente les concepts fondamentaux de la Programmation Orientée Objet (POO) en Python, y compris la définition de classes, la création d'objets, l'utilisation d'attributs et de méthodes, ainsi que des notions avancées comme l'héritage, l'encapsulation et les propriétés. Des exemples de code illustrent chaque concept, permettant une compréhension pratique. En résumé, il s'agit d'un guide sur la POO en Python avec des explications et des exemples clairs.

Transféré par

anasriahmed19
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
117 vues3 pages

Cours Python

Le document présente les concepts fondamentaux de la Programmation Orientée Objet (POO) en Python, y compris la définition de classes, la création d'objets, l'utilisation d'attributs et de méthodes, ainsi que des notions avancées comme l'héritage, l'encapsulation et les propriétés. Des exemples de code illustrent chaque concept, permettant une compréhension pratique. En résumé, il s'agit d'un guide sur la POO en Python avec des explications et des exemples clairs.

Transféré par

anasriahmed19
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Cours Python — Programmation Orientée Objet

(POO)
1. Introduction
La POO permet de modéliser des éléments du monde réel sous forme d'objets.
Chaque objet est une instance d'une classe, et la classe définit ce que l'objet sait faire (méthodes) et ce qu'il
contient (attributs).

2. Définir une classe


class Personne:
def __init__(self, nom, age):
self.nom = nom # Attribut nom
self.age = age # Attribut âge

def se_presenter(self):
print(f"Bonjour, je m'appelle {self.nom} et j'ai {self.age} ans.")

 __init__ : constructeur appelé automatiquement lors de la création d'un objet.


 self : référence à l'objet lui-même.

3. Créer un objet (instance)


# Création d'une personne
p1 = Personne("Alice", 30)

# Appel d'une méthode


p1.se_presenter()
# Affiche : Bonjour, je m'appelle Alice et j'ai 30 ans.

4. Attributs d'objet
Les attributs sont des variables associées à l'objet.

print(p1.nom) # Alice
p1.age = 31 # Modification de l'attribut
print(p1.age) # 31

5. Ajouter plusieurs méthodes


class CompteBancaire:
def __init__(self, titulaire, solde=0):
self.titulaire = titulaire
self.solde = solde

def deposer(self, montant):


self.solde += montant

def retirer(self, montant):


if montant <= self.solde:
self.solde -= montant

1
else:
print("Fonds insuffisants.")

def afficher_solde(self):
print(f"Le solde de {self.titulaire} est {self.solde}€.")

Utilisation :

compte = CompteBancaire("Bob", 100)


compte.deposer(50)
compte.retirer(30)
compte.afficher_solde() # Le solde de Bob est 120€.

6. Héritage : créer des classes qui héritent d'autres classes


class Animal:
def __init__(self, nom):
self.nom = nom

def parler(self):
print("L'animal fait un bruit.")

class Chien(Animal):
def parler(self):
print(f"{self.nom} aboie.")

Utilisation :

rex = Chien("Rex")
rex.parler() # Rex aboie.

 Chien hérite de Animal, mais surcharge (redéfinit) la méthode parler().

7. Encapsulation (protéger les données)


class Compte:
def __init__(self, solde):
self.__solde = solde # Attribut privé

def deposer(self, montant):


self.__solde += montant

def afficher_solde(self):
print(f"Solde : {self.__solde}€")

 Les attributs précédés de __ deviennent privés.


 Ils ne sont pas accessibles directement (objet.__solde renverra une erreur).

8. Propriétés (getters et setters modernes)


class Produit:
def __init__(self, prix):
self._prix = prix

@property
def prix(self):
return self._prix

2
@prix.setter
def prix(self, nouveau_prix):
if nouveau_prix > 0:
self._prix = nouveau_prix
else:
print("Le prix doit être positif.")

Utilisation :

p = Produit(100)
print(p.prix) # 100
p.prix = 150
print(p.prix) # 150
p.prix = -10 # Message d'erreur

9. Résumé rapide
Concept Exemple
Créer une classe class MaClasse:
Créer un objet mon_objet = MaClasse()
Attributs self.nom
Méthodes def parler(self):
Héritage class Chien(Animal):
Attributs privés self.__solde
Propriétés @property

Vous aimerez peut-être aussi