Qu'est-ce que la POO ?

Introduction à la programmation orientée objet en Python

George Boorman

Curriculum Manager, DataCamp

Programmation procédurale

 

  • Code comme séquence d’étapes
  • Idéale pour l’analyse de données

Escalier

1 Image source: https://unsplash.com/@tateisimikito
Introduction à la programmation orientée objet en Python

Penser en séquences

 

icônes d’une personne au lit, puis un café, puis une mallette

 

un assortiment d’icônes représentant plusieurs activités

Introduction à la programmation orientée objet en Python

Programmation procédurale

 

  • Code comme séquence d’étapes
  • Idéale pour l’analyse de données

Programmation orientée objet

 

  • Code comme interactions d’objets
  • Idéale pour bâtir des logiciels
  • Code maintenable et réutilisable !
Introduction à la programmation orientée objet en Python

Objets

$$\Large{\text{Objet = données + fonctionnalité}}$$

silhouette d’une personne avec un portable représentant un client

                                                          État – les données d’un objet

                                                  Comportement – la fonctionnalité d’un objet

Introduction à la programmation orientée objet en Python

Objets en Python

  • Tout en Python est un objet
Objet Type
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Introduction à la programmation orientée objet en Python

Les classes comme plans

  • Classe : un plan pour des objets qui précise états et comportements possibles

classe client

Introduction à la programmation orientée objet en Python

Les classes comme plans

  • Classe : un plan pour des objets qui précise états et comportements possibles

classe client donnant des objets client

Introduction à la programmation orientée objet en Python

Classes en Python

  • Les objets Python du même type se comportent de la même façon
  • Les lists sont une classe
    • Créées avec des valeurs séparées par des virgules [1, 2, 3, 4, 5]
    • Partagent les mêmes méthodes, p. ex. : .append()
  • Utilisez type() pour trouver la classe
type([1, 2, 3, 4, 5])
<class 'list'>
Introduction à la programmation orientée objet en Python

Attributs et méthodes

État ↔ attributs
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# attribut shape df.shape
(3, 2)
  • Utilisez obj. pour accéder aux attributs et aux méthodes
Comportement ↔ méthodes
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# méthode head df.head()
   a  b
0  1  4
1  2  5
2  3  6
Introduction à la programmation orientée objet en Python

Afficher attributs et méthodes

# Afficher les attributs et les méthodes
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Afficher les attributs et les méthodes
dir(list)
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
Introduction à la programmation orientée objet en Python

Aide-mémoire

Terme Définition
Classe Un plan/ modèle utilisé pour construire des objets
Objet Combinaison de données et de fonctionnalité ; une instance d’une classe
État Données liées à un objet, définies par des attributs
Comportement Fonctionnalité d’un objet, définie par des méthodes
Introduction à la programmation orientée objet en Python

Faisons le point !

Introduction à la programmation orientée objet en Python

Preparing Video For Download...