Qu'est-ce que la POO ?

Programmation orientée objet en Python

Alex Yarosh

Content Quality Analyst @ DataCamp

 

Programmation procédurale

 

  • Code comme une séquence d'étapes
  • Idéal pour l'analyse de données
Programmation orientée objet en Python

Penser en séquences

 

icônes d'une personne au lit suivie d'une icône de café puis d'une icône de mallette

 

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

Programmation orientée objet en Python

 

Programmation procédurale

 

  • Code comme une séquence d'étapes
  • Idéal pour l'analyse de données et les scripts

 

Programmation orientée objet

 

  • Code comme interactions d'objets
  • Idéal pour créer des frameworks et outils
  • Code maintenable et réutilisable !
Programmation orientée objet en Python

Objets comme structures de données

$$\Large{\text{Objet = état + comportement}}$$

silhouette d'une personne avec un ordinateur portable représentant un client

 

$$\text{\textbf{Encapsulation} - regrouper les données avec le code qui les utilise}$$

Programmation orientée objet en Python

Classes comme modèles

  • Classe : modèle pour les objets définissant états et comportements possibles

classe client

Programmation orientée objet en Python

Classes comme modèles

  • Classe : modèle pour les objets définissant états et comportements possibles

classe client se ramifiant en objets client

Programmation orientée objet en Python

Objets en Python

  • Tout en Python est un objet
  • Chaque objet a une classe
  • Utilisez type() pour trouver la classe
import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray
Objet Classe
5 int
"Hello" str
pd.DataFrame() DataFrame
np.mean function
... ...
Programmation orientée objet en Python

Attributs et méthodes

État ↔ attributs
import numpy as np
a = np.array([1,2,3,4])

# attribut shape a.shape
(4,)

 

  • Utilisez obj. pour accéder aux attributs et méthodes
Comportement ↔ méthodes
import numpy as np
a = np.array([1,2,3,4])

# méthode reshape a.reshape(2,2)
array([[1, 2],
       [3, 4]])
Programmation orientée objet en Python

Objet = attributs + méthodes

  • attribut ↔ variablesobj.mon_attribut,

  • méthode ↔ fonction()obj.ma_méthode().

import numpy as np
a = np.array([1,2,3,4])
dir(a)                # <--- liste tous les attributs et méthodes
['T',
 '__abs__',
 ...
 'trace',
 'transpose',
 'var',
 'view']

Programmation orientée objet en Python

Révisons !

Programmation orientée objet en Python

Preparing Video For Download...