relecture de la formation python

This commit is contained in:
Benjamin Bohard 2013-01-08 14:35:35 +01:00
parent 76c321feb6
commit dfa5883b0f
5 changed files with 36 additions and 40 deletions

View File

@ -32,10 +32,10 @@ Une interface décrit un ensemble de comportements.
on peut considérer une interface comme un protocole d'utilisation d'un objet on peut considérer une interface comme un protocole d'utilisation d'un objet
dans un contexte donné. dans un contexte donné.
on peut alors créer des outils qui sauront traiter n'importe quel objet On peut alors créer des outils qui sauront traiter n'importe quel objet
pourvu qu'il respecte une ensemble d'interfaces. pourvu qu'il respecte un ensemble d'interfaces.
.. todo:: travailler l'héritage, l'aggrégation, la délégation .. todo:: travailler l'héritage, l'agrégation, la délégation
Voici un exemple de classe `Voiture` : Voici un exemple de classe `Voiture` :

View File

@ -7,19 +7,19 @@ L'objectif de ce cours est de vous apprendre à programmer en
:term:`python`. Ce cours a été fait avec :term:`sphinx`, l'outil de :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. gestion de documentation en python utilisé pour documenter python lui-même.
avec python : Avec python :
- vous n'avez pas grand chose à savoir pour arriver à faire beaucoup de choses, - vous n'avez pas grand chose à savoir pour arriver à faire beaucoup de choses ;
- vous allez pouvoir travailler de manière - vous allez pouvoir travailler de manière :
- entièrement autonome - entièrement autonome ;
- rapide - rapide ;
- agile (au sens des méthodes agiles) - agile (au sens des méthodes agiles) ;
- vous allez progresser rapidement - vous allez progresser rapidement ;
- aucune connaissance préalable en programmation n'est requise - aucune connaissance préalable en programmation n'est requise ;
- le hello world en une ligne:: - le hello world en une ligne::
@ -49,7 +49,7 @@ avec python :
- lorsqu'on lance python sans spécifier de nom de fichier, c'est l'interpréteur - lorsqu'on lance python sans spécifier de nom de fichier, c'est l'interpréteur
python qui est lancé (le "prompt") python qui est lancé (le "prompt")
Taper "python" dans votre console Taper "python" dans votre console.
:: ::
@ -72,20 +72,20 @@ Taper "python" dans votre console
les modules, :ref:`namespaces` et la librairie standard les modules, :ref:`namespaces` et la librairie standard
:doc:`stdlib` :doc:`stdlib`
pour avoir de l'aide, taper dans le prompt : Pour avoir de l'aide, taper dans le prompt :
>>> help(function) >>> help(function)
usage de python Usage de python
------------------ ------------------
à peu près tous les domaines de l'informatique, du scripting système à la génération À 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. de pdf en passant par le développement web et le développement rapide d'applications.
exemple : web server exemple : web server
pour créer un serveur web simplement:: Pour créer un serveur web simplement::
python -m SimpleHTTPServer 8000 localhost python -m SimpleHTTPServer 8000 localhost

View File

@ -1,7 +1,7 @@
Interactions avec l'utilisateur Interactions avec l'utilisateur
=============================== ===============================
les prompts Les prompts
-------------- --------------
`raw_input` ou `input` `raw_input` ou `input`
@ -14,10 +14,10 @@ les prompts
.. _cmdlabel: .. _cmdlabel:
le module :mod:`cmd` et les interpréteurs Le module :mod:`cmd` et les interpréteurs
-------------------------------------------- --------------------------------------------
le monde des interpréteur ligne de commande... Le monde des interpréteur ligne de commande...
Peu après l'âge de bronze vint le temps de l'interpréteur ligne de commande, Peu après l'âge de bronze vint le temps de l'interpréteur ligne de commande,
c'est-à-dire quelque chose de plus spécifique que **l'application ligne de commande**, c'est-à-dire quelque chose de plus spécifique que **l'application ligne de commande**,
@ -26,18 +26,18 @@ ou que l'utilitaire ligne de commande.
Un interpréteur ligne de commande est un programme qui : Un interpréteur ligne de commande est un programme qui :
- est forcément plein texte - est forcément plein texte ;
- vous donne un prompt - vous donne un prompt ;
- prends toutes ses entrées d'un coup - prend toutes ses entrées d'un coup ;
- produit une sortie (typiquement des lignes de texte) - produit une sortie (typiquement des lignes de texte) ;
- vous redonne un prompt - vous redonne un prompt.
Le shell unix est un bon exemple d'interpréteur ligne de commande. Le shell unix est un bon exemple d'interpréteur ligne de commande.
Un utilitaire ligne de commande est un programme unix-like qui prend toutes Un utilitaire ligne de commande est un programme unix-like qui prend toutes
les entrées d'un coup, et qui vous renvoie une sortie d'un coup. les entrées d'un coup, et qui vous renvoie une sortie d'un coup.
le module :mod:`cmd` : exemple d'utilisation Le module :mod:`cmd` : exemple d'utilisation
.. module:: cmd .. module:: cmd
:synopsis: interpréteur ligne de commande :synopsis: interpréteur ligne de commande
@ -65,7 +65,7 @@ le module :mod:`cmd` : exemple d'utilisation
#Prompt> #Prompt>
to add a command, just use inheritance:: Pour ajouter une commande, utilisez juste l'héritage::
>>> from cli import Cli >>> from cli import Cli
@ -92,10 +92,10 @@ to add a command, just use inheritance::
.. todo:: faire un petit projet d'interpréteur ligne de commande du jeu C+/C- .. todo:: faire un petit projet d'interpréteur ligne de commande du jeu C+/C-
lire et écrire dans un fichier Lire et écrire dans un fichier
------------------------------- -------------------------------
les **handle de fichier** (file handles) Les **handle de fichier** (file handles)
>>> >>>

View File

@ -1,7 +1,7 @@
Mettre en place son environnement de travail Mettre en place son environnement de travail
============================================= =============================================
un framework de développement intégré : :term:`IDLE` Un framework de développement intégré : :term:`IDLE`
.. glossary:: .. glossary::
@ -21,9 +21,9 @@ un framework de développement intégré : :term:`IDLE`
.. _`librairie standard`: http://docs.python.org/2.7/library/index.html .. _`librairie standard`: http://docs.python.org/2.7/library/index.html
Premier réflexe : la doc en ligne ou bien installée sur votre disque dur. Premier réflexe : consulter la doc en ligne ou bien installée sur votre disque dur.
la page d'accueil de la doc officielle python : La page d'accueil de la doc officielle python :
.. image:: images/DocPython.png .. image:: images/DocPython.png
@ -32,7 +32,7 @@ modules :
.. image:: images/ModuleIndex.png .. image:: images/ModuleIndex.png
configurer son éditeur Configurer son éditeur
---------------------- ----------------------
- les fichiers sources ont l'extenstion `.py` - les fichiers sources ont l'extenstion `.py`
@ -40,7 +40,7 @@ configurer son éditeur
- les blocs sont marqués par l'indentation (utilser 4 espaces), règler - les blocs sont marqués par l'indentation (utilser 4 espaces), règler
l'éditeur pour transformer les tabulations en espaces l'éditeur pour transformer les tabulations en espaces
configurer son prompt python Configurer son prompt python
------------------------------- -------------------------------
.. envvar:: PYTHONPATH .. envvar:: PYTHONPATH
@ -48,7 +48,7 @@ configurer son prompt python
pointe par défaut sur le répertoire courant, il est possible d'ajouter pointe par défaut sur le répertoire courant, il est possible d'ajouter
un path un path
à mettre dans votre `.bashrc` : À mettre dans votre `.bashrc` :
:: ::

View File

@ -21,7 +21,7 @@ python est un langage dynamiquement typé. qu'est-ce que cela signifie ?
- ouvrir l'interpréteur python - ouvrir l'interpréteur python
- dans la console créer un objet de type integer, float, string, liste, dictionnaire - dans la console créer un objet de type integer, float, string, liste, dictionnaire
- vérifier les types à l'aide de la fonction - vérifier les types à l'aide de la fonction `type()`
- vérifier que en python tout est objet - vérifier que en python tout est objet
- type de base et types conteneurs - type de base et types conteneurs
- types mutables et types immutables - types mutables et types immutables
@ -118,13 +118,11 @@ index(), find(), replace()
- enlever les accents - enlever les accents
>>> import unicodedata
>>> s = u"un été même pas chaud" >>> s = u"un été même pas chaud"
>>> import unicodedata as U >>> import unicodedata as U
>>> s2 = ''.join(U.normalize('NFD', x)[0] for x in s) >>> s2 = ''.join(U.normalize('NFD', x)[0] for x in s)
>>> s2 >>> s2
u'un ete meme pas chaud' u'un ete meme pas chaud'
>>>
- enlever la ponctuation - enlever la ponctuation
@ -134,7 +132,7 @@ u'un ete meme pas chaud'
>>> string.punctuation >>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
- l'encodage (unicode): - l'encodage (unicode et la compression utf-8):
>>> u = u"éèà bla" >>> u = u"éèà bla"
>>> u >>> u
@ -143,7 +141,6 @@ u'\xe9\xe8\xe0 bla'
'\xc3\xa9\xc3\xa8\xc3\xa0 bla' '\xc3\xa9\xc3\xa8\xc3\xa0 bla'
>>> print u.encode("utf-8") >>> print u.encode("utf-8")
éèà bla éèà bla
>>>
manips importantes de traitement unicode (si on n'est pas en python 3) manips importantes de traitement unicode (si on n'est pas en python 3)
@ -169,7 +166,6 @@ ordinal not in range(128)
>>> s = u.encode("utf-8") >>> s = u.encode("utf-8")
>>> type(s) >>> type(s)
<type 'str'> <type 'str'>
>>>
# il faut utiliser .encode(), et pas .decode()... # il faut utiliser .encode(), et pas .decode()...