17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Classes<br />

Définition<br />

Structuration du code<br />

CHAPITRE 5<br />

Sans être familier avec la programmation orientée objet (POO), on peut considérer<br />

que les classes sont similaires à des modules : des regroupements logiques de fonctions<br />

et de variables pour définir un comportement et un état du programme. Cette<br />

logique se retrouve dans les éléments manipulés en Python, puisque tout est objet.<br />

Ainsi, un objet de type string regroupe des fonctions de manipulation sur la chaîne<br />

comme replace() et des variables comme __doc__.<br />

La différence fondamentale entre un module et une classe se situe dans l’utilisation<br />

de cette dernière : elle définit un modèle d’objet que l’on peut ensuite instancier<br />

autant de fois que nécessaire. Une instance devient un objet indépendant qui contient<br />

les fonctions et les variables définies dans le modèle.<br />

ALLER PLUS LOIN La programmation orientée objet<br />

Si vous n’êtes pas familier avec les concepts de la POO, le chapitre 14 est une bonne introduction à son<br />

utilisation en Python.<br />

Le mot réservé class sert à définir un modèle en associant un certain nombre de<br />

variables et de fonctions à un nom.<br />

La classe Voiture<br />

>>> class Car:<br />

... color = 'Rouge'<br />

...<br />

Toutes les variables et les fonctions placées dans le niveau d’indentation de la classe en<br />

deviennent des membres. Ces éléments sont nommés attributs et on parle plus précisément<br />

de méthodes pour les fonctions et d’attributs de données pour les variables.<br />

La classe Car définie dans l’exemple peut ensuite être utilisée pour instancier des<br />

objets en l’appelant comme une fonction.<br />

Instanciation<br />

>>> car_1 = Car()<br />

>>> car_2 = Car()<br />

Ces deux objets de type Car sont des instances distinctes.<br />

111

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!