Programmation Objet en Python

publicité
Programmation Objet en Python
L2 (Informatique)
2011 – 2012
CM : Jerzy Karczmarczuk – [email protected]
TD/TP : Véronique Terrier
(Cherchez-nous en Sciences 3, 3ème étage)
Je pense que ce cours est un de de plus importants, sinon LE plus important
des matières informatiques en L2.
Ce cours est relativement avancé, vous êtes « affranchis », la connaissance du langage
Python est considérée acquise. Version utilisée : Python 2.7, avec une « pollution »
considérable par des éléments de la version 3.2.
Ses objectifs sont par excellence pratiques. Peu de « philosophie généraliste »,
beaucoup de programmation concrète.
Les objets au sens technique du terme sont des structures de données
« conscientes » qui gèrent ses procédures du traitement, (ou méthodes) qui sont
attachées aux données.
Vous les déjà connaissez, vous savez que x + y signifie plusieurs choses selon
le type (ou classe) des arguments : ajout entier, flottant ou complexe,
concaténation, etc.
Mais les objets sont plus riches que ça. Ils peuvent effectuer des opérations
arbitraires quand on les « touche », par ex. on demande à ce qu'une « balle »
change sa propriété « position », et ceci déclenche automatiquement une
opération graphique sur l'écran...
Les programmes deviennent ainsi considérablement plus modulaires, lisibles, et
maintenables. Mais ceci n'est pas la fin de l'histoire... TOUT dans Python passe
par les objets. Les fonctions sont des objets. Les modules sont des objets.
D'autres types, comme les itérateurs, les générateurs, les threads (pour la
programmation parallèle), les expressions régulières (pour le traitement des
textes), etc. vous seront présentés.
Les objets prennent en charge la hiérarchisation, la communication, la sécurité
(partiellement)... Le sujet est infini, et continue en L3 avec Java.
On travaillera avec quelques modules de support non-standard, notamment :
●
●
Numpy, une bibliothèque mathématique, facilitant les opérations sur les
tableaux, les séquences, etc.
Matplotlib, un paquetage graphique très riche et utile, permettant faire des
choses visuelles à un niveau beaucoup plus haut que le notoire Tkinter (qui,
quand même, constitue une des libraires de base possibles sous Matplotlib.
Installez ces librairies sur vos ordinateurs personnels !
Modalités. Vous aurez un examen sur table, et un projet de programmation –
pour la note de contrôle continu. (Le projet sera géré par Véronique).
Mes notes de cours seront mis en ligne régulièrement, sauf si je constate un
absentéisme exacerbé, alors je distribuerai les notes individuellement aux
présents en cours. De toute façon, la lecture des notes ne remplacera jamais la
présence en cours, car je ferai interactivement des exemples, et je vous offrirai
des explications supplémentaires (et ceci va vous manquer, comme disait Uma
Thurman dans « Kill Bill », a propos des membres coupés à son ennemie...)
L'URL des notes :
users.info.unicaen.fr/~karczma/TEACH/PyObj/Master.html
Téléchargement