formations/python/python2/formation/getting-started.txt

127 lines
3.5 KiB
Plaintext
Raw Permalink Normal View History

2013-01-08 11:15:45 +01:00
.. 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.
2015-05-07 09:33:59 +02:00
Pour plus d'information : :doc:`docutils`
Avec python :
2013-01-08 11:15:45 +01:00
2013-05-15 10:47:55 +02:00
- vous n'avez pas grand chose à savoir pour arriver à faire beaucoup de choses,
2013-01-08 11:15:45 +01:00
2013-05-15 10:47:55 +02:00
- vous allez pouvoir travailler de manière
2013-01-08 11:15:45 +01:00
2013-05-15 10:47:55 +02:00
- entièrement autonome
- rapide
- agile (au sens des méthodes agiles)
2013-01-08 11:15:45 +01:00
2013-05-15 10:47:55 +02:00
- vous allez progresser rapidement
2013-01-08 11:15:45 +01:00
2013-05-15 10:47:55 +02:00
- aucune connaissance préalable en programmation n'est requise
2013-01-08 11:15:45 +01:00
- le hello world en une ligne::
python -c "print 'hello'"
- rendre un fichier exécutable et ajouter le she bang::
2013-11-26 09:34:03 +01:00
#!/usr/bin/env python
2013-01-08 11:15:45 +01:00
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")
2015-05-01 10:32:46 +02:00
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.
2013-05-15 10:47:55 +02:00
Taper "python" dans votre console
2013-01-08 11:15:45 +01:00
::
>>> 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`
2013-05-15 10:47:55 +02:00
pour avoir de l'aide, taper dans le prompt :
2013-01-08 11:15:45 +01:00
>>> help(function)
2015-05-11 09:16:33 +02:00
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.
2013-05-15 10:47:55 +02:00
usage de python
2013-01-08 11:15:45 +01:00
------------------
2013-05-15 10:47:55 +02:00
à peu près tous les domaines de l'informatique, du scripting système à la génération
2013-01-08 11:15:45 +01:00
de pdf en passant par le développement web et le développement rapide d'applications.
exemple : web server
2013-05-15 10:47:55 +02:00
pour créer un serveur web simplement::
2015-05-01 10:32:46 +02:00
2013-01-08 11:15:45 +01:00
python -m SimpleHTTPServer 8000 localhost
exemple : utiliser python pour faire un fichier de conf
::
spam = "eggs"
actions = [
('call_view', 'com.next')
]
2015-05-01 10:32:46 +02:00
2013-01-08 11:15:45 +01:00
.. _python: http://www.python.org
.. _sphinx: http://sphinx.pocoo.org
.. _docutils: http://docutils.sf.net