Prototypage d`interfaces par langage de script Le Python, c

Prototypage d’interfaces par langage de script
Le Python, c’est bon
Cours 1 : Introduction et premiers algorithmes
1 Python : apprentissage
Pour avoir une vision plus large des diff´erentes possibilit´es du langage Python,
nous ne pouvons que vous conseiller d’aller consulter le tutoriel Python disponible
`a l’adresse http://docs.python.org/tut/tut.html, ou encore http://www.
ceramiko.ch/python/main.html.
1.1 Interpr´eteur
Python est un langage interpr´et´e. Cela signifie que les programmes python n’ont
pas ˆetre compil´es avant d’ˆetre ex´ecut´es, mais qu’on doit les faire ex´ecuter par
un autre programme (l’interpr´eteur). Ceci apporte une certaine souplesse pour
effectuer rapidement des tests.
L’interp´eteur de python est le programme python. Si vous le lancez sans
param`etre, il va passer en mode interactif et vous permettre d’´evaluer directe-
ment des commandes. Sinon, il va chercher `a ex´ecuter le contenu du fichier
pass´e en param`etre.
Les manipulations que nous indiquons ci-dessous peuvent tout `a fait ˆetre
ex´ecut´ees dans l’interp´eteur python standard. Cependant, nous vous conseillons
d’utiliser idle, une petite interface graphique fournie en standard avec python.
Une fois la commande idle lanc´ee, vous devez vous retrouver devant une invite
de commande (prompt pour les anglicistes) :
>>>
Vous pouvez alors entrer directement des commandes. Lorsque vous com-
mencerez `a entrer des fonctions (sur plusieurs lignes), il sera alors utile de passer
par un fichier. Pour cela, cr´eez depuis le menu File un nouveau fichier, et entrez
les commandes python `a l’int´erieur. Pour interpr´eter son contenu, il suffit de le
sauvegarder (m´emorisez le raccourci-clavier contrˆole-s) et de l’ex´ecuter avec la
touche F5.
Nous allons maintenant voir les principales structures de donn´ees disponibles
dans python (les nombres, les chaˆınes de caract`eres et les listes), ainsi que la
fa¸con de les manipuler via des variables.
1
1.2 Manipulation de l’interpr´eteur : les nombres
Vous pouvez vous servir de python comme calculatrice, comme le montre l’exemple
suivant (tir´e du tutoriel) :
>>> 2+2
4
>>> # Introduit un commentaire
... 2+2
4
>>> 2+2 # et un commentaire sur la m^eme ligne de code
4
>>> (50-5*6)/4
5
>>> # Les divisions enti`eres retournent des entiers
... 7/3
2
>>> 7/-3
-3
Pour les divisions non enti`eres, il faut manipuler des r´eels :
>>> 7/3
2
>>> 7.0 / 3
2.3333333333333335
>>> 7 / 3.0
2.3333333333333335
>>> 1.0 * 7/3
2.3333333333333335
Les variables sont affect´ees avec le signe ’=’. Ainsi la commande :
>>> x=42
affecte la valeur 42 `a la variable x. On peut alors la manipuler comme le
montre l’exemple suivant :
>>> x
42
>>> x*2
84
>>> x**2 # x au carr´e
1764
Une variable n’existe qu’une fois qu’elle est d´eclar´e. Ainsi :
>>> y
produira une erreur, mais :
2
>>> y = 2
pas. Ceci est bien et bon. Vous remercierez un jour python d’avoir ce com-
portement l`a.
2 Python par l’exemple
Nous reprenons ici l’approche utilis´ee dans l’ouvrage dive into python 5.4 disponible
au t´el´echargement (en en fran¸cais s’il vous plaˆıt) ici http://diveintopython.
adrahon.org/. Commencez par recopier le code suivant dans un fichier que
vous nommerez premierExemple.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
""" Un exemple montrant un programme complet en python.
Ce programme va nous permettre de cerner un peu mieux le langage, ses
possibilit´es et (quelques unes de) ses sp´ecificit´es.
Ceci reprend l’id´ee de l’ouvrage http://diveintopython.org.
"""
__author__ = "Fran¸cois Brucker"
__version__ = "$Revision: 1.0 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "Copyright (c) 2008 Francois Brucker"
__license__ = "Python"
def listeDeCourse(liste):
"""Construit une liste de course `a partir d’un dictionnaire.
Rend une cha^ıne.
"""
return " et ".join(["%s fois %s" % (v, k) for k, v in liste.items()])
if __name__ == "__main__":
maListe = { "pain":1, \
"vin":5, \
"boursin": "plein"
}
print listeDeCourse(maListe)
On pourra ex´ecuter ce code. Observez le r´esultat.
Que nous apprend ce code :
l’enete, commune aux script Unix,
3
la d´eclaration de fonctions,
le typage des variables,
la documentation de fonctions,
la gestion des blocs par indentation
Dans l’interpr´eteur, on pourra taper :
>>> import premierExemple
>>> caddie = {"journal":1, "caf´e": 2}
>>> premierExemple.listeDeCourse(caddie)
3 Structures de base
3.1 Chaˆınes de caract`eres
3.1.1 Chaˆınes
Les chaˆınes de caract`eres sont entr´ees en les entourant des caract`eres ou ". La
diff´erence entre ces deux notations est au niveau de l’interpr´etation de caract`eres
sp´eciaux tels que \n (retour `a la ligne) ou \t (tabulation). Essayez d’entrer les
chaˆınes suivantes, pour voir la diff´erence de traitement :
"Une seule ligne"
’Une seule ligne’
"Plusieurs\nlignes ?"
’Plusieurs\nlignes ?’
Remarquez la diff´erence entre la chaˆıne de caract`ere et son impression via la
commande print.
On peut ´egalement utiliser les d´elimiteurs ’’’ ou """, ce qui permet d’entrer
facilement des chaˆınes de caract`eres multilignes, ou contenant les caract`eres
ou "(comme du code HTML par exemple) :
code_html="""<html>
<head><title>Test</title></head>
<body background="white">
<h1 align="center">Titre</h1>
</body>
</html>"""
Les op´erateurs +et *sont utilisables avec des chaˆınes de caract`eres, ce qui
est extrˆemement pratique pour ´ecrire des punitions :
>>> ’je ne copie pas sur mon voisin\n’*10
’je ne copie pas sur mon voisin\nje ne copie pas sur mon voisin\nje ne
copie pas sur mon voisin\nje ne copie pas sur mon voisin\nje ne copie
4
pas sur mon voisin\nje ne copie pas sur mon voisin\nje ne copie pas
sur mon voisin\nje ne copie pas sur mon voisin\nje ne copie pas sur
mon voisin\nje ne copie pas sur mon voisin\n’
>>> print ’je ne copie pas sur mon voisin\n’*10
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
je ne copie pas sur mon voisin
Ou encore :
>>> debut="je ne copie pas sur "
>>> voisin=’Toto’
>>> print (debut + voisin + ’\n’) * 10
je ne copie pas sur Toto
je ne copie pas sur Toto
je ne copie pas sur Toto
je ne copie pas sur Toto
je ne copie pas sur Toto
je ne copie pas sur Toto
je ne copie pas sur Toto
je ne copie pas sur Toto
je ne copie pas sur Toto
je ne copie pas sur Toto
3.1.2 Formatage de chaˆınes de caract`eres
Le caract`ere %est particulier dans les chaˆınes de caract`eres, il sert `a ins´erer des
valeurs (avec une syntaxe identique `a printf en C) dans la chaˆıne.
nom="Souchon"
age=10
phrase="%s a %d ans" % (nom, age)
print phrase
Utiliser l’aide help(str) pour regarder les diff´erentes m´ethodes utilisables
pour les chaˆınes de caract`eres.
3.2 Listes
N’oubliez pas la commande help (help(list) ou help([]) par exemple).
5
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !