Python, un langage de script objet

Python est langage de script objet né au début des années 90. Il est encore confidentiel par rapport aux mammouths actuels du marché (Perl et Tcl pour les langages de script, C++ et Java pour les langages plus classiques), cependant, il est en développement rapide et on constate qu'il est de plus en plus utilisé pour l'écriture d'applications complexes dans les domaines de l'outillage XML (pyXML), de l'édition gaphique 2D et 3D (skencil, PPE, blender), de la programmation web (CGI de qualité, Zope) mais aussi du développement d'outils de modélisation avancés (autour du MOF, voir Universalis). A titre d'exemple, il y a en ce moment environ 4500 projets de développement en Python sur le serveur SourceForge contre 6000 en Perl et 16000 en Java, C et C++.

Principales caractéristiques du langage

  • langage de script (précompilé en byte-code) purement objet,
  • diffusion gratuite (licence GPL), disponible dans tous les environnements (Unix, Window's, etc),
  • interfaçage efficace avec les environnements graphiques du marché (Tk, gtk, etc), simplicité de développement de petits outils graphiques,
  • mécanismes objet simples, mais rigoureux et bien implantés (règles de visibilité honnêtes, héritage simple et multiple, typage dynamique),
  • syntaxe simple et régulière, apprentissage extrêmement rapide,
  • les mêmes possibilités que Perl en matière de gestion d'expressions régulières, d'interfaçage avec le système (threads, RPC, etc), de gestion des protocoles Web (CGI, HTTP, …) et des SGBD,
  • API complètes d'interfaçage dans les deux sens avec C, C++ (CPython) et Java (JPython),
  • documentation très claire et complète,
  • accès complet aux fonctions de l'interpréteur et au modèle objet sous-jacent, larges possibilités d'introspection et de réflexion.

Tous ces éléments font de Python un langage qu'il faut prendre en compte, en particulier pour les applications avancées dans les domaine du Web et du graphique, mais aussi pour développement de prototypes et d'outils dans le domaine de la recherche en Génie Logiciel et en modélisation.

Documents pédagogiques locaux

FIXMELiens à rétablir dans ce paragaphe – en fait à réorganiser complètement.

quelques pages pour avancer dans la nouvelle structure

Le langage Python est enseigné à l'IUT depuis deux ans. Seulement des classes exemples ont été développées pour faciliter un démarrage rapide.

  • exScript.py : une base de script pour bien démarrer.
  • InitConfigFile.py : cette classe relativement complète implante la gestion d'un fichier de paramétrage structuré comme les fichier INI de Window's. Elle met en oeuvre une large plage de possibilités :
    • utilisation de la bibliothèque standard,
    • gestion de fichiers,
    • liaisons avec l'environnement et exécution de commandes externes,
    • mise en oeuvre des expressions régulières,
    • gestion d'exceptions
Pour développer cette classe, un modèle de classe auto-testable (sans gestion de contrats) a été développé ; ce modèle est conforme au standard de documentation de Python et permet une extraction automatique des documents techniques (ici avec l'outil HappyDoc). Un modèle de script est également fourni.
Ces scripts devraient être actualisés pour tenir compte des nouvelles possibilités (logging, optionParser notamment) des versions 2.3 et 2.4 de Python.
  • pyCGI : petite application CGI qui peut servir de modèle à une application d'enregistrement d'utilisateur d'un service. Montre l'usage du module cgi de la bibliothèque standard.

L'environnement Phyton est habituellement intégré dans les distributions Linux (version 2.4 en général) ; la version déployée à l'UBS intègre l'interface avec Tk pour les applications graphiques, l'interface graphique de développement IDLE et le support XML.

Ressources documentaires (HTML)

  • Documentation officielle Python-2.4 avec les versions PDF téléchargeables en ligne,
  • Un traduction française de cette documentation est en cours d'élaboration,
  • Outil HappyDoc : outil d'extraction de documentation vers HTML.

Ressources documentaires (PDF)

  • Un tutorial pour non programmeurs,
  • Un Manuel d'utilisation de Tk,
  • Un how-to sur les expressions régulières,
  • Documentation de la PIL: bibliothèque de manipulation d'images,
  • Programmation XML: un how-to et la référence de bibliothèque,

“exScript.py”>exScript.py</a> /docinfo/produits_locaux/pyExample/InitConfigFile.py /docinfo/produits_locaux/pyExample/classTemplate.py” /docinfo/produits_locaux/pyExample/doc/ /docinfo/import/happydoc/docinfo/produits_locaux/pyExample/scriptTemplate.py /docinfo/produits_locaux/pyExample/pyCGI.tgz ../../../import/HappyDoc-2.1/ ../../../import/Python-2.2.1/ http://frpython.sourceforge.net/ /docinfo/import/happydoc/ /docinfo/pdf/python/easytut.pdf /docinfo/pdf/python/an-introduction-to-tkinter.pdf /docinfo/pdf/python/regex.pdf /docinfo/pdf/python/the-python-imaging-library.pdf /docinfo/pdf/python/xml-howto.pdf /docinfo/pdf/python/xml-ref.pdf

Pour aller plus loin

Le site officiel www.python.org donne une foule d'informations et de liens sur le langage et ses applications.

Python est développé sur le site SourceForge, sur le modèle de l'Open Source, vous pouvez participer à son développement.

Daniel Deveaux 2005-11-01 07:22

lang-python.txt · Dernière modification: 2007/09/23 06:30 (édition externe)

Informations sur la pratique du Wiki -- Mention légale
Copyright © 2005-07 UBS - IUT de Vannes - Dept Informatique
Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed