Académique Documents
Professionnel Documents
Culture Documents
Chapitre1 Python
Chapitre1 Python
Introduction
au langage Python
• Introduction
Le langage de programmation Python a été créé en 1989 par Guido van Rossum, aux Pays-Bas
(Degree: Master of computer Science and mathematics) pendant les vacances de Christmas.
Le nom Python vient d’un hommage à la série télévisée Monty Python’s Flying Circus dont G. van
Rossum es t fan.
La premiè re version publique de ce langage a été publiée en 1991. La dernière version de Python
est la version 3.x (3.10.4)
Simple: Python permet d'écrire des programmes compacts et lisibles. Les programmes écrits en
Python sont généralement beaucoup plus courts que leurs équivalents en C, C++ ou Java.
Introduction
Un langage interprété: Un script Python n’a pas besoin d’être compilé pour être exécuté,
contrairement à des langages comme le C ou le C++.
N’utilise pas les pointeurs
Un langage à typage dynamique:
Exemple: création des variables en python en utilisant l’opérateur d’affectation =
>>> X=2 # X est un entier
>>> X=2.5 # X est un réel
>>> X=2+5j # X est un nombre complexe
……………………….
Python IDLE 3.X
• Pour windows: TELECHARGER et installer la dernière version de python (3.x) a partir du site
officiel de Python (python.org).
Python IDLE 3.X
• Pour windows: TELECHARGER et installer la dernière version de python (3.x) a partir du site
officiel de Python (python.org).
4
Anaconda
4
Les variables : Règles et conventions de nommage et codage
Exemple:
>>>A=2
>>>B=3.3 A 2
>>>id(A)
>>>id(B) 3.3
B
>>>type(A)
>>>type(B)
>>>A=B
>>>id(A) 2
>>>id(B) A
>>>type(A) 3.3
>>>type(B) B
❖ Quand un objet n’a plus de nom (nombre de référence nul), il est détruit
automatiquement (mécanisme automatique de "ramasse miettes", ou garbage
collector).
Les variables : Règles et conventions de nommage et codage
•Pour créer des variables en python on utilise l’opérateur d’affectation =
>>> X=2 # X est un entier
•les identifiants au format nom sont réservés à l’interpréteur Python
• Ces mots-clés sont utilisés par Python, On ne peut pas déclarer des variables portant ces noms.
Les types sous Python
Les types
Les Types
Élémentaires: Les conteneurs Les types complexes
Non mutables
int, float, complex, boolean, None
Non Mutables
Mutable: Modification
modification non autorisée
autorisée
Tuples
Les listes Ensemble
Chaines de caractères
Dictionnaires
Les types élémentaires
Autres opérations
Var=Var+1
Var=Var-1
Var=Var*2
Print: commande pour l’affichage
Var=Var/5
Les types numériques:
Exemple:
>>> type(x),type(y)
(<class 'int'>, <class ‘float'>)
>>>x,y=y,x # permutation
>>>print(x)
6.6
>>>print(y)
3
Le type entier : <classe int>
Le type reel: <classe float>
Le type boolean: Les opérations de comparaison
Exemple: L=[1,2,3,4,’ab’,’ac’]
0 1 2 3 4 5 6
-7 -6 -5 -4 -3 -2 -1
Indexation négative
L=[ 1 , 2 , 3 , 6 , 1.3 , ‘hello’, ‘ab’ ] 7 éléments dans la liste
>>>L=[1,3,5,2]
>>>S=L+[0,3,1] # l’opérateur + concatène les listes et donne une nouvelle liste
>>>S
[1,3,5,2,0,3,1]
o S[a:b] : sous liste d’éléments allant de l’indice a inclu jusqu’à l’élément d’indice b exclu
o S[a:b:c] :sous liste d’éléments de l’indice a inclu jusqu’à indice b exclu par pas égal à c
Listes : Exercice
1. Ecrire un script Python qui permet de créer une liste semaine qui comprend les jours de la semaine
2. Affiche la liste de la semaine
3. Afficher la taille de la liste
4. Afficher la sous liste des jours depuis Mardi jusqu’au vendredi
5. Afficher le dernier jour en utilisant l’indexage négatif
6. Inverser la liste
Listes : Méthodes prédéfinies
On peut appliquer aux listes un certain nombre de méthodes prédéfinies. Pour savoir lesquelles il suffit
d’appeler la fonction dir et/ou help la fonction d’intérêt.
>>>dir(l)
>>>help (l.extend)
Listes : Méthodes prédéfinies(Exemples)
>>> nbr=[17,38,10,25,72]
>>> nbr.sort(reverse=True) # trier la liste dans l’ordre décroissant
>>> nbr
[72,38,25,17,10]
>>> nbr.sort() # trier la liste dans l’ordre croissant
>>> nbr
[10, 17, 25, 38, 72]
>>> nbr.append(12) # ajouter un élément a la fin de la liste
>>> nbr
[10, 17, 25, 38, 72, 12]
>>> nbr.reverse() # inverser la liste
>>> nbr
[12, 72, 38, 25, 17, 10]
>>> nbr.remove(38) # supprimer la première occurrence de la valeur 38 dans la liste
>>> nbr
[12, 72, 25, 17, 10]
>>> nbr.index(17) # donner l’indice de la première occurrence de la valeur 17 dans la liste
3
Listes : Méthodes prédéfinies(Exemples)
>>> nbr[0]=11
>>> nbr
[11, 72, 25, 17, 10]
>>> nbr[1:3]=[14,17,2]
>>> nbr
[11, 14, 17, 2, 17, 10]
>>> nbr.pop() # renvoie et supprime le dernier élément de la liste
10
>>> nbr.pop()
17
>>> nbr
[11, 14, 17, 2]
>>> nbr.extend([17,3,6])
>>> nbr
[11, 14, 17, 2, 17, 3, 6] # permet la concaténation de deux listes
1 7
8
2
9
3
10
4
6
Les séquences : Les chaînes de caractères
Une chaine de caractère <la classe str> est une séquence de caractère entre côtes non modifiable !
Même principe d’indexation que les listes
Exemple :
34
Les chaînes de caractères: Méthodes pour les chaînes
35
Les chaînes de caractères: Méthodes pour les chaînes
• isupper() et islower() : retournent True si la chaîne ne contient respectivement que des
majuscules/ minuscules
• istitle() : retourne True si seule la première lettre de chaque mot de la chaîne est en majuscule
35
Les séquences : Les tuples
• Un tuple (appelé également n-uplet) est une collection ordonnée et non modifiable d’éléments
éventuellement hétérogènes.
• Une fonction qui retourne plusieurs résultats retourne un tuple !!!!
Syntaxe : T=( a,b,c,d,…..) : Éléments séparés par des virgules, et entourés de parenthèses.
Exemple
>>> t = 12, 54, ’salut!’ # t = (12, 54, ’salut!’)
>>> t[0]
12
>>> t
(12, 54, ’salut!’)
•
Les Tuples peuvent être imbriqués:
Exemple
>>> u =( t, (1, 2, 3, 4, 5))
>>> u
((12, 54, ’salut!’), (1, 2, 3, 4, 5)) 36
Les séquences : Les tuples
• Un tuple avec un élément est construit en faisant suivre une valeur d’une virgule
Exemple :
>>> E= ()
>>> S= ’salut’, #notez la virgule en fin de ligne
>>> len(E) , len(S), S
0 1 (’salut’,)
37
Les séquences: Indexation et Slicing( découpage )
Une séquence est un conteneur ordonné d’éléments indexés par des entiers indiquant leur position
dans le conteneur.
83
Les séquences : Les tuples
Remarque :
Les chaînes et les Tuples n’étant pas modifiable il est possible de migrer vers
des listes au moyen de l’instruction suivante list:
>>> t=(1,2,3)
>>> t=list(t)
>>> type(t)
<class 'list'>
>>> t.append(5)
>>> t
[1, 2, 3, 5]
>>> ch=‘’Bonjour ‘’
>>>List (ch)
['b', 'o', 'n', 'j', 'o', 'u', 'r']
40
Les ensembles
○ Un ensemble est une collection non ordonnée et mutable d’objets uniques. Les ensembles
sont des structures non indexées !
○ Les ensembles modélisent la notion mathématique des ensembles
Syntaxe
Ensemble d’objets séparés par des virgules entre {}
Exemple
>>>S={1,1,3,3,'a','b','ccc',2,2,1,'a','a','bb'}
>>>S
{'a', 1, 2, 'b', 'bb', 3, 'ccc'}
>>>S.add(9)
>>>S
{'a', 1, 2, 'b', 'bb', 3, 'ccc‘,9}
39
Les ensembles
>>>e=set() # un ensemble vide e={}
>>> e={1,2,3,'E','E','R','A',3,3,2,6}
>>> e1=set([1,2,3,'k','j',2,2,'L','A',3,3,2,6])
>>> type(e),type(e1)
<class 'set'><class 'set'>
>>> e|e1 #opération d'union
{'A', 1, 2, 3, 'E', 6, 'k', 'j', 'L', 'R'}
>>> e&e1 # opération d’intersection
{'A', 1, 2, 3, 6}
>>> e-e1 # opération de différence
{'R', 'E'}
>>> e^e1 # ou exclusif
{'E', 'k', 'j', 'L', 'R'}
Les ensembles
Exercice
Un dictionnaire (tableau associatif Non ordonné ,Mutable) est un type de données permettant de
stocker des couples clé:valeur, avec un accès très rapide à la valeur à partir de la clé, la clé ne
pouvant être présente qu’une seule fois dans le tableau.
coef[‘math’]=5
45
Opérations sur les dictionnaires
46
Opérations sur les dictionnaires
46
Les Dictionnaires
46
Les Dictionnaires :Les structures composites
47
Exercice
Soit le tableau suivant représentant des informations physico-chimiques sur des
éléments simples (température d’ébullition (Te) et de fusion (Tf), numéro (Z) et masse
(M) atomique :
Créer un dictionnaire DC qui contient les données de ce tableau de façon à pouvoir écrire
par exemple : >>> print DC["Au"]["Z/A"][0] # affiche : 79
Correction
DC=
Pour résumer les types:
49
Les opérations d’entrée/ sortie
50
Les opérations d’entrée/ sortie
Opération de lecture : input()
Saisir : 3498392483
Il est toutefois possible de convertir la quantité saisie en entier, réel ou même booléen au moyen de int, float,
et bool
Exemple:
51
f-string formatting
Depuis Python 3.6, f-strings permet d’insérer des expressions dans des chaines de caractères en
utilisant une syntaxe minimale. Ces expressions servent à insérer des variables dans les chaines de
caractères et de les mettre en forme.
Pour utiliser f-strings il suffit de mettre un f devant la chaine de caractères et pour insérer la valeur
d’une variable dans la chaine il suffit de mettre la variable entre accolade. Si il n’y a pas de variable a
substituer il n’est pas nécessaire de mettre le f devant.
52
f-string formatting
53
f-string formatting
54
Une autre manière de s'en rendre compte est d'utiliser deux fonctions print() à la suite. Dans la portion de code
suivante, le caractère « ; » sert à séparer plusieurs instructions Python sur une même ligne :
55
Les structures conditionnelles
Exercice:
1) Ecrire un programme qui teste si une variable a saisie par le clavier (de type entier) est
un nombre pair ou non
2) Ecrire un programme qui compare deux variables x et y de type float (saisies par le clavier)
3) Ecrire un programme qui demande a l’utilisateur de taper une chaine ch et un entier n , puis
afficher une nouvelle chaine ch1 qui contient n fois la chaine ch.
exemple: ch=‘abc,
n=4
la nouvelle chaine ch1=abcabcabcabc
Les structures conditionnelles •
• • •
• •
• •
• ••
Correction: •
#1) • •• • •
a=int(input("donner un entier")) •
if a%,2==0:
print("pair")
•••
• ••
else:
print("impair")
#2)
x=fioat(input("donner un reel"))
y=fioat(input("donner un reel"))
if x>y:
print("x=" .x, ">y=" ,y)
elif x<y:
print("x=" .x, "<y=" ,y)
else:
print(x,"et" ,Y, "sont egaux")
#3)
• • ch=input("donner une chaine")
••
• •
n=int(input("donner un entier"))
• • •
• ••
ch1=n*ch
•
•
• • print(ch1)
Les structures itératives : Boucle For
Syntaxe
for i in range(a):
instructions
for i in range(a,b):
instructions
for i in range(a,b,c):
instructions
for i in (liste/chaine de caractere/tuple/dictionnaire/fichier/…..):
instructions
‘
Les structures itératives : Boucle For (Exemples)
>>>L=[0,1,2,3,4]
>>>L1=[]
>>>for k in L:
L1.append(k**2) =‘Ali’
>>>L1
[0, 1, 4, 9, 16]
>>>ch=”azerty” Ali
>>>ch1=''
>>>for c in ch:
ch1=ch1+c*2
>>>ch1
aazzeerrttyy
61
Les structures itératives : Boucle For ….Else
• •
•
• • •• •
• •
Boucle While…Else
La boucle While exécute le bloc jusqu'à ce qu'une condition soit remplie. Lorsque la condition devient
fausse, l'instruction immédiatement après la boucle est exécutée.
La clause else n'est exécutée que lorsque votre condition while devient false. Si vous sortez de la boucle
ou si une exception est levée, elle ne sera pas exécutée.
Fin while
•
• •
• •
• • •
• • •• • •
• •• • •
• •
•
•
•
•
• •• • •
• •
Construction de listes par compréhension !!
L=[ ]
for i in range(3): L=[0,1,2]
L.append( i )
etape1 etape2
Les types simples: entier, réel, complexe, booléen: non modifiable= non mutable:
• Les chaines de caractères ‘’Bonjour ‘’: non modifiable= non mutable: ordonnée
• Les tuples (e1,e2,e3,………) ou encore e1,e2,e3,……. : non mutable : ordonnée