.. default-role :: literal Prise en main ============== L'objectif de ce cours est de vous apprendre à programmer en :term:`python`. Ce cours a été fait avec :term:`sphinx`, l'outil de gestion de documentation en python utilisé pour documenter python lui-même. Pour plus d'information : :doc:`docutils` Avec python : - vous n'avez pas grand chose à savoir pour arriver à faire beaucoup de choses, - vous allez pouvoir travailler de manière - entièrement autonome - rapide - agile (au sens des méthodes agiles) - vous allez progresser rapidement - aucune connaissance préalable en programmation n'est requise - le hello world en une ligne:: python -c "print 'hello'" - rendre un fichier exécutable et ajouter le she bang:: #!/usr/bin/env python print "hello" .. note:: lorsqu'on lance python sur un programme, des fichiers avec une extension `.pyc` apparaissent. .. glossary:: python python_ est un langage de programmation généraliste, libre, totalement orienté objet, dynamiquement typé, semi-interprété ou, pour certaines utilisations optimisées, compilé ou compilé à la volée (JIT). sphinx sphinx_ est un outil de documentation utilisant la syntaxe wiki docutils_ - lorsqu'on lance python sans spécifier de nom de fichier, c'est l'interpréteur python qui est lancé (le "prompt") En python, le dicton le plus répandu est "there must be an obvious way to do it", (il y a certainement une manière évidente de le faire en python), ``import this`` permet de se remémorer les dictons de python. Ce dicton est très différent de l'approche du perl par exemple, qui présuppose : "there is more than one way to do it", c'est-à-dire que en gros en perl, on peut le faire n'importe comment, mais pas en python, enfin en python c'est pas conseillé de le faire à sa sauce, il y a en général une bonne pratique à découvrir et à mettre en place. Taper "python" dans votre console :: >>> print "hello world" hello world :: >>> import this Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. ... .. seealso:: les modules, :ref:`namespaces` et la librairie standard :doc:`stdlib` pour avoir de l'aide, taper dans le prompt : >>> help(function) Le bon réflexe de chercher ce qui est le plus répandu et le plus utilisé est le bon en python : on dit que python est livré "batteries included", ce qui signifie que lorsqu'on a un besoin précis il faut chercher dans la librairie standard python, puis dans les librairies les plus utilisées en python, puis en dernier... le reste, ce qui est disponible. Mais si une librairie connue ne fait pas exactement ce qui est attendu et qu'une libraire inconnue du bataillon fait exactement ce qui est attendu, (et a l'air de fonctionner correctement...), alors il faut choisir la libraire inconnue au bataillon. usage de python ------------------ à peu près tous les domaines de l'informatique, du scripting système à la génération de pdf en passant par le développement web et le développement rapide d'applications. exemple : web server pour créer un serveur web simplement:: python -m SimpleHTTPServer 8000 localhost exemple : utiliser python pour faire un fichier de conf :: spam = "eggs" actions = [ ('call_view', 'com.next') ] .. _python: http://www.python.org .. _sphinx: http://sphinx.pocoo.org .. _docutils: http://docutils.sf.net