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
dans un contexte donné.
on peut alors créer des outils qui sauront traiter n'importe quel objet
pourvu qu'il respecte une ensemble d'interfaces.
On peut alors créer des outils qui sauront traiter n'importe quel objet
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` :

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
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
- rapide
- agile (au sens des méthodes agiles)
- entièrement autonome ;
- rapide ;
- 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::
@ -49,7 +49,7 @@ avec python :
- 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
Taper "python" dans votre console.
::
@ -72,20 +72,20 @@ Taper "python" dans votre console
les modules, :ref:`namespaces` et la librairie standard
:doc:`stdlib`
pour avoir de l'aide, taper dans le prompt :
Pour avoir de l'aide, taper dans le prompt :
>>> 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.
exemple : web server
pour créer un serveur web simplement::
Pour créer un serveur web simplement::
python -m SimpleHTTPServer 8000 localhost

View File

@ -1,7 +1,7 @@
Interactions avec l'utilisateur
===============================
les prompts
Les prompts
--------------
`raw_input` ou `input`
@ -14,10 +14,10 @@ les prompts
.. _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,
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 :
- est forcément plein texte
- vous donne un prompt
- prends toutes ses entrées d'un coup
- produit une sortie (typiquement des lignes de texte)
- vous redonne un prompt
- est forcément plein texte ;
- vous donne un prompt ;
- prend toutes ses entrées d'un coup ;
- produit une sortie (typiquement des lignes de texte) ;
- vous redonne un prompt.
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
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
:synopsis: interpréteur ligne de commande
@ -65,7 +65,7 @@ le module :mod:`cmd` : exemple d'utilisation
#Prompt>
to add a command, just use inheritance::
Pour ajouter une commande, utilisez juste l'héritage::
>>> 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-
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
=============================================
un framework de développement intégré : :term:`IDLE`
Un framework de développement intégré : :term:`IDLE`
.. 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
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
@ -32,7 +32,7 @@ modules :
.. image:: images/ModuleIndex.png
configurer son éditeur
Configurer son éditeur
----------------------
- 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
l'éditeur pour transformer les tabulations en espaces
configurer son prompt python
Configurer son prompt python
-------------------------------
.. envvar:: PYTHONPATH
@ -48,7 +48,7 @@ configurer son prompt python
pointe par défaut sur le répertoire courant, il est possible d'ajouter
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
- 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
- type de base et types conteneurs
- types mutables et types immutables
@ -118,13 +118,11 @@ index(), find(), replace()
- enlever les accents
>>> import unicodedata
>>> s = u"un été même pas chaud"
>>> import unicodedata as U
>>> s2 = ''.join(U.normalize('NFD', x)[0] for x in s)
>>> s2
u'un ete meme pas chaud'
>>>
- enlever la ponctuation
@ -134,7 +132,7 @@ u'un ete meme pas chaud'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
- l'encodage (unicode):
- l'encodage (unicode et la compression utf-8):
>>> u = u"éèà bla"
>>> u
@ -143,7 +141,6 @@ u'\xe9\xe8\xe0 bla'
'\xc3\xa9\xc3\xa8\xc3\xa0 bla'
>>> print u.encode("utf-8")
éèà bla
>>>
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")
>>> type(s)
<type 'str'>
>>>
# il faut utiliser .encode(), et pas .decode()...