
Python 16 POO
Programmation Orientée Objets
1 Introduction
La programmation orientée objet (POO) permet de créer des entités (objets) que l’on peut manipuler. La pro-
grammation orientée objet impose des structures solides et claires. Les objets peuvent interagir entre eux, cela
facilite grandement la compréhension du code et sa maintenance. On oppose souvent la programmation objet à
la programmation procédurale, la première étant plus "professionnelle" que l’autre car plus fiable et plus propre.
Nous savions définir nos fonctions ; Python et nombre de langages vont plus loin. Il s’agit ici de définir non plus
une fonction, mais un objet.
«Mais alors. . .Qu’est-ce qu’un objet ?»
Les objets sont omniprésents en Python, string,int,float ...(qui sont alors dits natifs, c’est à dire par défaut
dans Python), mais libre à nous d’en créer davantage !
Un objet se présente de la façon suivante :
•Initialisé par ses attributs
•Caractérisé ensuite par des actions appelées méthodes
2 Première application
Explicitons l’exemple ci-dessous :
from math import *
class Point(object) :
def __init__(self, coordx, coordy, coordz) :
self.x=coordx
self.y=coordy
self.z=coordz
self.type="Point"
def distance(self,pt) : #définit une méthode (ou fonction) pour les objets de cette classe
dist = math.sqrt((self.x-pt.x)**2+(self.y-pt.y)**2+(self.z-pt.z)**2)
return dist
L’outil Class permet de définir, comme son nom l’indique (en français «catégorie»), un ensemble d’objets.
Ici, la class Point définit . . .un point !
__init__ : est la notation utilisée pour définir les attributs de la class,
elle prend en arguments SELF (elle-même) puis ses attributs (tous ou une partie seulement).
Self : «C’est Lui !». . .Certes, mais encore. Self désigne l’objet, c’est pourquoi dans l’initialisation nous attri-
buons à self des caractéristiques. Ici self recevra les caractéristiques d’un point comprenant une composante
sur x,yet z.
Ensuite, les méthodes !
A présent, nous avons notre point. Allons plus loin, la Méthode «distance» retourne la distance entre deux
points déjà existants. La syntaxe est celle d’une fonction ordinaire.
Cours Info - Jacques Delfaud - Page 1 sur 6