Qu'est-ce que la POO?

Programmation orientée objet en Python

Alex Yarosh

Content Quality Analyst @ DataCamp

 

Programmation procédurale

 

  • Code en enchaînement d'étapes
  • Idéale pour l'analyse de données
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

Programmation orientée objet en Python

 

Programmation procédurale

 

  • Code en enchaînement d'étapes
  • Idéale pour l'analyse de données et les scripts

 

Programmation orientée objet

 

  • Code comme interactions entre objets
  • Idéale pour créer des cadres et des 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 portable représentant un client

 

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

Programmation orientée objet en Python

Les classes comme plans

  • Classe : plan d'objets décrivant états et comportements possibles

classe client

Programmation orientée objet en Python

Les classes comme plans

  • Classe : plan d'objets décrivant états et comportements possibles

classe client se déployant 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_methode().

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

Programmation orientée objet en Python

Révision rapide!

Programmation orientée objet en Python

Preparing Video For Download...