Académique Documents
Professionnel Documents
Culture Documents
El Khamlichi Mohsin
&
Heyvaert Xavier
Sommaire
Gratuit
Python est placé sous Général Public License. Il est facilement
downloadable sur www.python.org
Extensible
Au-delà de la multitude de librairies et de modules déjà existente,
il est possible d’en dévellopper pour ses propres besoins.
Modulable
Python permet de séparer les programmes en modules qui peuvent
être réutilisés dans d'autres programmes en Python
Orienté Objet
Python est orienté-objet. Il supporte l'héritage multiple et la
surcharge des opérateurs.
Syntaxe aisée
La syntaxe de Python est très simple et, combinée à de nombreux
types de données évolués (comme les listes, dictionnaires,tuples...), ce
qui conduit à des programmes à la fois très compacts et très lisibles.
De plus, Python ne nécessite aucune déclaration de variable. Les
variables sont créées lors de leur première assignation.
Peu d’erreurs…
Tout comme Java ou Ada, Python porssède un systeme d’exception qui
facilite la gestion des erreurs.
Case sensitive
• Exemple de concaténation
>>> mot = ‘help’ + ‘a
>>>mot
’helpa’
# pour la répétition:
>>>mot*3
‘helpahelpahelpa’
• Autre manière de faire
>>> ‘help’ ‘a’
‘helpa’
• Rq. on ne peut pas concaténer une chaîne et un nombre avec ‘+’; on
doit d’abord utiliser atoi() pour convertir ce nbr en string et ensuite
concaténer
Chaînes: indiçage et extraction
• Un index qui est trop grand est remplacé par la taille de la chaîne, un index de
fin inférieur à l’indice de début retourne une chaîne vide ( s[1:100] donnera
‘onexemple.py’ et s[2:1] donnera ‘’).
• Différents exemples:
• >>> s[-2] # les deux derniers caractères
• >>>’py’
• >>> s[-0] # équivalent à s[0]
• ‘m’
• >>>s[-100] # erreur
Remarques…
• Comme les indices des chaînes, les indices des listes commencent à 0, et les
listes peuvent étre découpées, concaténées…(rapidité!!!!) Les listes sont
modifiables,on peut donc changer les éléments individuellement:
remplacement, destruction,... (c’est l’utilité d’une liste! Important lors des
passages de paramètres des fonctions )
Tableau des opérations
Un exemple
• >>> a = ['spam', 'eggs', 100, 1234]
• >>> a
• ['spam', 'eggs', 100, 1234]
• >>> a[0]
• 'spam'
• >>> a[3]
• 1234
• >>> a[-2]
• 100
• >>> a[1:-1]
• ['eggs', 100]
• >>> a[:2] + ['bacon', 2*2]
• ['spam', 'eggs', 'bacon', 4]
• >>> 3*a[:3] + ['Boe!']
• ['spam', 'eggs', 100, 'spam', 'eggs', 100, 'spam', 'eggs', 100, 'Boe!']
Listes imbriquées (généralisées)
• L = ['abc', [(1,2), ([3], 4)], 5]; ainsi, L[1] donnera [(1,2),([3],4)] et L[1]
[1] donnera ([3],4)
Les méthodes de l’objet liste
• sort()
– Trie les éléments à l'intérieur de la liste.
• reverse()
– Renverse l'ordre des éléments à l'intérieur de la liste.
• count(x)
– Renvoie le nombre de fois que x apparaît dans la liste.
Exemple pour les méthodes
• Un exemple qui utilise toutes les méthodes des listes:
• >>> a = [66.6, 333, 333, 1, 1234.5]
• >>> print a.count(333), a.count(66.6), a.count('x')
•2 1 0
• >>> a.insert(2, -1)
• >>> a.append(333)
• >>> a
• [66.6, 333, -1, 333, 1, 1234.5, 333]
• >>> a.index(333)
•1
• >>> a.remove(333)
• >>> a
• [66.6, -1, 333, 1, 1234.5, 333]
• >>> a.reverse()
• >>> a
• [333, 1234.5, 1, 333, -1, 66.6]
• >>> a.sort()
• >>> a
• [-1, 1, 66.6, 333, 333, 1234.5]
Une fonction intégrée
• "filter(fonction, sequence)" renvoit une liste (du même type, si
possible) contenant les seul éléments de la séquence pour lesquels
fonction(element) est vraie. Par exemple, pour
calculer quelques nombres premiers:
• >>> def f(x): returnx%2 != 0 and x%3 != 0
• ...
• >>> filter(f, range(2, 25))
• [5, 7, 11, 13, 17, 19, 23]
4. Les Tuples
• Déf. Comme une liste, un tuple est une collection ordonnée d’objets; mais le
tuple n’est pas modifiable .
• Déclaration: des couples clé:valeur séparés par des virgules et entre accolades
>>> dico = {`japon' :'japan', `chine' :'china'}
if <test1>:
<instructions>
elif <test2>:
<instructions>
.....
!!! ATTENTION à l’indentation !!!!
else:
<instructions>
2. La Boucle While
else :
<instructions>
Un exemple…
X=0
While x<6:
print « Dans le boucle while x vaut : » , x
x=x+1
else:
print « Dans le else x vaut : »,x
Utilisation du break, continue, pass
y=y+1
else:
print « dans le else y vaut : », y
3. La Boucle For
La boucle for fonctionne sur les chaînes, les listes, les tuples et
d’autes objets issus de classes.
Elle commence par une ligne d’en-tête qui spécifie une cible
d’affectation, ainsi qu’un objet qui sera itéré :
for <cible> in <objet>:
<instructions>
else :
<instructions>
Ici encore, le else est mis en fin de boucle pour la même raison
que dans la boucle while vue précédemment.
Le for de Python fonctionne différemment que celui du C, il
affecte les objets de l’élément séquence à la cible un par un.
Exemple :
X={« ichi »: « un », « ni »: « deux », « san »: « trois », « chi »: « quatre »}
Print « Les clefs du dictionnaire sont : »,x.keys()
Print « Les Valeurs du dictionnaire sont : », x.values()
For i in x.keys():
print « La clef est : %s la valeur est :%s »%(i,x[i])
Le Range
L’instruction range permet de créer une liste croissante d’entiers
successifs compris dans une certaine borne dépendant du nombre de
paramètres de l’instruction :
1 paramètre : entiers compris entre 0 et le paramètre
2 paramètres : entier compris entre param1 et param2
3 paramètres : entier compris entre parm1 et param2 et de pas param3
Ex : for i in range(10,20,2):
print i
Ce qui donne: 10
12
14
16
18
CHAPITRE IV :
LES FONCTIONS
1. Définition
Outre les fonctions de bases de Python, il est possible d’en
définir de nouvelles grâce à l’instruction « def ». Il faudra bien sur
à nouveau veiller à l’indentation car en python, il n’y pas de
délimiteur pour définir les scopes.
format :
G G G
L L L
copie
(2)Import <module>
(1)from …import
« module appelant »
Avec (2), il faut refaire un reload pour récupérer la valeur initiale.
Avec (1), il suffit donc de refaire « from…import » pour récupérer
la valeur qui n’a pas été modifiée dans sa table ( du module appelé)
• Illustration de la remarque
#contenu du module mon_module
num=12
#fin du module mon_module (.py)
#on est dans l’invite interactive
>>>from mon_module import num
>>> print num
12
>>>num=24
>>>print num
24
>>>from mon_module import num #équivalent du reload
>>>print num
12 # ne fonctionne pas avec les types modifiables
CHAPITRE VI :
LES EXCEPTIONS
1. Définition
• file: hello
• #!/usr/local/bin/python
• from Tkinter import * # get widget classes
• def make_widgets(self):
• widget = Button(self,
• text='Hello world',
• command = self.onPress)
• widget.pack(side=LEFT)
• def onPress(self):
• print "Hi."
• % hello
•