Résumé Python
Résumé Python
Résumé Python
33
Opérateurs arithmétiques
Opération Résultat
-x Opposé de x
x%y Reste de la division entière de x par y (mod)
x/y Division de x par y
x // y Division entière de x par y (div)
x*y Produit de x et y
x–y Différence de x et y
x+y Somme de x et y
x ** y x puissance y
34
Opérations sur les numériques
Opération Résultat
pow(x,y) x puissance y
35
Opérateurs de comparaison
Opération Résultat
x<y, x<=y x inférieur (ou égal) à y
x>y, x>=y x supérieur (ou égal) à y
x == y x égal ? y (valeurs)
x != y x différent de y
37
Opérateurs logiques
Opération Résultat
x or y, x and y OU et ET logiques
x|y x ou y
x&y x et y
x^ y x ou exclusif y
38
Les entrées sorties
49
Les entrées
§ Il s’agit de réaliser une saisie à l’écran : la fonction standard input() interrompt le
programme, afficher une éventuelle invite et attend que l’utilisateur entre une
donnée et la valide par Entrée .
§ La fonction standard input() effectue toujours une saisie en mode texte (la saisie est
une chaîne) dont on peut ensuite changer le type (on dit aussi transtyper) :
§ Syntaxe:
Nom_variable = input("un texte qui invite l’utilisateur à entrer une donnée")
50
Exemples
51
Les sorties
§ En mode « interactif», Python lit-évalue-affiche, mais la fonction print() reste
indispensable aux affichages dans les scripts :
52
Les structures conditionnelles
Structure conditionnelle
1ère forme de Si
2ème forme de Si
3ème forme de Si
60
Structure conditionnelle
61
If imbriqués
62
Les structures répétitives
La boucle while
La boucle for
1
Le boucle While
§ Comme dans beaucoup d’autres langages, la boucle while exécute un
bloc tant que la condition d’arrêt est vérifiée.
§ Syntaxe:
Tanque(condition) faire
while <condition> :
<instructions>
<instructions>
Fintanque
Algorithmique Python
Exemple
Exemple (break)
68
Exemple (continue)
69
La boucle for
§ Syntaxe
for i in range(imin,imax+1,pas):
instructions
75
Exemple en mode interactif
77
Syntaxe générale
78
Les fonctions et les procédures en Python
Syntaxe de déclaration
Pour la déclaration d’une
procédure
def nomDeLaProcedure(par1,par2,…..parn):
" Cette ligne explique à quoi sert la procedure"
bloc d'instructions
...
def nomDeLaFonction(par1,par2,…..parn):
"Cette ligne explique à quoi sert la fonction "
bloc d'instructions
return (resultat)
...
8
2
Exemple d’une procédure
8
4
Exemple d’une fonction
8
5
Les listes
7
Définition
§ Une liste est une structure de données qui contient une série de valeurs.
§ Python autorise la construction de liste contenant des valeurs de type différent (par
exemple entier et chaîne de caractères), ce qui leur confère une grande flexibilité.
§ Une liste est déclarée par une série de valeurs séparées par des virgules, et le tout
encadré par des crochets : maListeVide = []
maListeAvecUnSeulElement = [élément]
maListe = [élément1,élément2,...,élémentN]
§ s’il s’agit d’une valeur de type chaînes de caractères, il faut l’encadrer par des
guillemets, simples ou doubles.
§ les objets placés dans une liste sont accessibles par l'intermédiaire d'un index
(un nombre qui indique l'emplacement de l'objet dans la séquence)
8
§ La numérotation des index commence par 0
Exemple
9
Accéder aux éléments d'une liste
§ Pour accéder aux éléments d'une liste, on utilise les mêmes méthodes (index, découpage
en tranches) que pour accéder aux caractères d'une chaîne :
-6 -5 -4 -3 -2 -1
0 1 2 3 4 5
10
Modifier une liste
Les opérations sur les listes:
11
Modifier une liste
12
Modifier une liste
Méthodes permettant de modifier une liste :
13
Modifier une liste
14
Modifier une liste
15
Les fonctions appliquées aux listes: Supprimer un élément ou une partie d’une liste
17
Techniques de « Slicing » avec
l’opérateur []
18
Techniques de « slicing » avancé pour modifier une liste
0 1 2 3 4
19
Règles à respecter
§ Si vous utilisez l'opérateur [] à la gauche du signe égale pour effectuer une insertion ou une
suppression d'élément(s) dans une liste, vous devez obligatoirement y indiquer une « tranche »
dans la liste cible (c'est-à-dire deux index réunis par le symbole : ), et non un élément isolé dans
cette liste.
§ L'élément que vous fournissez à la droite du signe égale doit lui-même être une liste. Si vous
n'insérez qu'un seul élément, il vous faut donc le présenter entre crochets pour le transformer
d'abord en une liste d'un seul élément.
§ l'élément nombres[2] n'est pas une liste alors que l'élément nombres[2:2] en est une.
20
Suppression / remplacement d'éléments
0 1 2 3 4 5 6 7
0 1 2 3 4 5
nous remplaçons la tranche [2,5[ par un seul élément. (Notez encore une
fois que cet élément doit lui-même être « présenté » comme une liste).
21
Suppression / remplacement d'éléments
nous remplaçons une tranche de 3 éléments par une autre qui en comporte 6.
22
Utilisation d’un pas dans le slicing
0 1 2 3 4 5 6 7 8
23
Utilisation d’un pas négatif dans le slicing
-9 -8 -7 -6 -5 -4 -3 -2 -1
24
Correction
liste= [ 1, 2, 3, 4, 5, 6,7,8 ]
liste.insert(4,0) [1, 2, 3, 4, 0, 5, 6, 7, 8]
liste
liste[::-1] [8, 7, 6, 5, 4, 3, 2, 1]
liste.pop() 8
liste[1:5]=[] [1, 6, 7, 8]
liste
liste[2:2]=22 error
liste
liste.index(1) 0
liste.remove(1) [2, 3, 4, 5, 6, 7, 8]
liste
del liste[1] [1, 3, 4, 5, 6, 7, 8]
liste
26
Création de liste avec range
§ La fonction range() génère une liste de nombres entiers de valeurs croissantes avec
un pas égal à 1 (par défaut)
27
Parcours d'une liste à l'aide de for, range() et len()
28
Test d'appartenance
§ Nous pouvons déterminer si un élément fait partie d'une liste à l'aide de l'instruction in :
29
Exercice
1. Ecrire une fonction qui permet de créer une liste de n élément et la retourner
2. Ecrire une procédure qui permet d’afficher les éléments d’une liste
32
Solution 1
33
Solution 2
34
Les dictionnaires
Les dictionnaires
§ Les dictionnaires sont un type composite, semblables aux listes dans une certaine mesure (ils sont
modifiables comme elles), mais ce ne sont pas des séquences
§ Numérique
§ Un type composite
§ Les valeurs associées à ces clés peuvent êtres de n’importe quel type
Création d'un dictionnaire
§ Puisque le type dictionnaire est un type modifiable, nous pouvons commencer par créer un
dictionnaire vide, puis le remplir petit à petit.
§ Du point de vue syntaxique, on reconnaît une structure de données de type dictionnaire au fait
que ses éléments sont enfermés dans une paire d'accolades
§ Pour effectuer un traitement sur les valeurs, il suffit de récupérer chacune d'elles à partir de la clé
correspondante
Parcours d'un dictionnaire
§ Il est recommandé de faire appel à la méthode items()
Les chaines de caractères
2
Gestion des espaces
Méthode Effet
strip() Supprime les espaces en début et fin de chaine
rstrip() Supprime les espaces en fin de chaine
lstrip() Supprime les espaces en début de chaine
isspace() Renvoie True s’il n’y a que des espaces
38
Tests sur la nature de la chaîne
Méthode Effet
startswith(prefix) True si la chaine commence par prefix
endswith(prefix) True si la chaine se termine par prefix
isupper() True si la chaine ne contient que des majuscules
islower() True si la chaine ne contient que des minuscules
istitle() True si la chaine est formatée comme un titre
isdigit() True si la chaine ne contient que des caractères
numériques
39
Recherche et remplacement
Méthode Effet
index(sub) Renvoie l’index de la 1ère occurrence de la
chaine sub, exception si pas trouvée
40
Découpage et collage
Méthode Effet
split(sep) Crée une liste de tous les mots de la chaîne en
utilisant sep comme séparateur
42
Exemple
43
Accès et extraction
44
Gestion des exceptions
Définition
§ Les exceptions sont les opérations qu’effectue un interpréteur ou un compilateur lorsqu’une erreur est
détectée au cours de l’exécution d 'un programme.
§ En règle générale, l’exécution du programme est alors interrompue, et un message d’erreur plus ou
moins explicite est affiché.
§ Exemple :
On dit:
une exception est levée
8
3
Exemple
Quand vous saisissez autre chose qu’un nombre, une exception de type ValueError est levée
8
4
Exemple
8
5
Gestion des exceptions
§il est possible de gérer les exceptions pour éviter l'arrêt brutal du programme.
§on utilise conjointement les instructions try et except.
§L'instruction else est optionnelle :
8
6
Distinguer les différents types d'exceptions
8
7
Distinguer les différents types d'exceptions
8
8
Boucler le programme
8
9
Résultat
9
0
M atplotlib
Le module pyplot
§ il suffit d’importer un module appelé pyplot et d’utiliser une fonction de
graphique parmi les suivantes :
§
Exemple
Les Fichiers
Fichier
Ouverture d’un fichier
Syntaxe de l’ouverture d’un fichier :
monFichier = open(‘NomDuFichier’,’mode’)
§ Remarque :
• Par défaut on considère que le fichier est situé dans le même répertoire quenotre script.
• Dans le cas contraire, on devra préciser son emplacement, par exempleavec un chemin absolu (du
style C:\ … sous windows).
Fichier
Ouverture d’un fichier
Trois modes d’ouverture possibles :
• ‘r’ : lecture. On peut lire le contenu du fichier mais pas y écrire. Lefichier doit exister auparavant.
• ‘w’ : écriture. Si le fichier existait, son contenu est effacé, sinon il estcréé.
• ‘a’ : ajout. Si le fichier existait on peut écrire à la fin de celui-ci sanseffacer son contenu. Sinon il
est créé.
Fichier
Fermeture d’un fichier
Syntaxe de la fermeture d’un fichier :
monFichier.close()
9
Lecture en bloc avec read() megane
clio
# -*- coding: utf -*- Fichier texte à lire : twingo
safrane
#ouverture en lecture « voiture.txt » laguna
f = open("voitures.txt","r") vel satis
#information sur s
print("type de s : ",type(s))
print("longueur de s : ", len(s))
#fermeture
f.close()
#lecture
lst = f.readlines() Le contenu du fichier est stocké dans
#affichage une liste, une ligne = un élément.
print("** contenu de lst **") Le caractère \n est maintenu. Il n’est pas
print(lst)
print("** fin contenu **") présent sur la dernière ligne de notre
fichier exemple.
#information sur lst
print("type de s : ",type(lst))
print("longueur de s : ", len(lst))
#fermeture
f.close()
11
Remarque : saut de ligne ou pas sur la dernière ligne du fichier
Question : Comment savoir s’il y a un saut de ligne
Ouvrir le fichier dans Notepad++ ou pas à la dernière ligne de notre fichier texte ?
12
Lecture ligne par ligne avec readline (sans « s »)
# -*- coding: utf -*-
#ouverture en lecture
f = open("voitures.txt","r")
• readline() lit la ligne courante et place le
#lecture ligne itérativement curseur sur la ligne suivante.
while True: • la fonction renvoie la chaîne vide lorsque
s = f.readline()
if (s != ""): nous arrivons à la fin du fichier (Remarque :
print(s)
else:
s’il y a une ligne blanche entre 2 véhicules,
break; readline() renvoie le caractère « \n », ce n’est
#fermeture
pas une chaîne vide).
f.close()
13
Lecture ligne par ligne en itérant sur l’objet fichier
#fermeture
f.close()
14
Ecriture d’un fichier texte avec write()
# -*- coding: utf -*- •open() permet d’ouvrir un fichier en écriture avec
l’option « w ». La fonction renvoie un objet de type
#ouverture en écriture fichier référencée par f
f = open("moto.txt","w")
• avec « w », le fichier est écrasé s’il existe déjà
#écriture • write() permet d’écrire la chaîne de caractères
f.write("honda")
f.write("yamaha")
f.write("ducati")
#fermeture
f.close() Il manque les sauts de ligne pour distinguer chaque moto
#fermeture
f.close() 15
Ecriture d’un fichier texte avec writelines()
writelines() permet d’écrire
directement le contenu d’une liste.
# -*- coding: utf -*- Nous devons quand même insérer
le caractère « \n » pour que le saut
#ouverture en écriture
f = open("moto.txt","w") de ligne soit effectif dans le fichier.
#liste
lst = ["honda\n","yamaha\n","ducati"]
#écriture
f.writelines(lst)
#fermeture
f.close()
16
Ajout dans un fichier texte • open() avec l’option « a » permet d’ouvrir
un fichier en mode ajout
• write() permet d’écrire la chaîne de
# -*- coding: utf -*- caractères
#ouverture en ajout
• attention toujours au saut de ligne
f = open("moto.txt","a") • une ouverture en mode lecture / écriture
est possible avec l’option « r+ » mais se
#ajouter un saut de ligne
positionner sur telle ou telle ligne pour y
f.write("\n")
modifier ou insérer des informations est
#écriture compliqué.
f.write("laverda")
#fermeture
f.close()
17