.. 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.

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")

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)

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