Qu’est-ce que la POO ?

Introduction à la programmation orientée objet en Python

George Boorman

Curriculum Manager, DataCamp

Programmation procédurale

 

  • Code comme une suite d’étapes
  • Idéale pour l’analyse de données

Escaliers

1 Source de l’image : https://unsplash.com/@tateisimikito
Introduction à la programmation orientée objet en Python

Penser en séquences

 

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

 

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

Introduction à la programmation orientée objet en Python

Programmation procédurale

 

  • Code comme une suite d’étapes
  • Idéale pour l’analyse de données

Programmation orientée objet

 

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

Objets

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

silhouette d’une personne avec un ordinateur 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 est objet en Python
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 décrivant les états et comportements possibles des objets

classe client

Introduction à la programmation orientée objet en Python

Les classes comme plans

  • Classe : un plan décrivant les états et comportements possibles des objets

classe client se ramifiant en 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 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 attributs et méthodes
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Afficher attributs et 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 pour construire des objets
Objet Combinaison de données et de fonctionnalités ; une instance d’une classe
État Données associées à un objet, définies via des attributs
Comportement Fonctionnalité d’un objet, définie via 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...