Programmation. Python
Programmation. Python
Programmation Python
Enseignant Responsable:
Maroua Abdelhafidh
Auditoire: LCE 2
2020-2021
Chapitre 1:
Introduction
Programmer?
Programmer commence
d’abord par un algorithme et
finit par un code (écrit dans un
langage de programmation ) qui
est exécuté par la suite par
l’ordinateur pour fournir un
résultat.
3
Langages de Programmation
Pour l’Université, les entreprises et l’industrie (Data Science,
prototypes, mathématiques avancées,…) : Java, Python, R, Matlab,…
4 Et autres….
Langages de Programmation
Selon PYPL index: PopularitY of Programming Language
5
Pourquoi Python?
Portable: Unix, Windows, Mac OS
Hautement Productif:
Open source: communauté de développeurs python est très productive et
fournit plusieurs extensions. .
Langage Interprété.
Orienté Objet
6
Domaines d’Application
Machine Learning, Data science
Administration système
…
7
Chapitre II:
Notions de Base de Python
Les variables
En programmation, les variables servent à mémoriser les données.
Les variables sont des espaces de mémoire auquel ont donne un nom et une
valeur.
Il existe plusieurs type de variables:
String = chaînes de caractères se place entre quotes (’) ou entre guillemets (")
Integer = Suite de chiffres éventuellement préfixé par un signe (+ou −).
Float = Nombre à virgule
Boolean = True/False
type(nom_de_variable)
Affiche le type d’une variable (ex. type(1.2) <class ‘float’>)
9
Les variables
Identificateur de variable
Exemple :
Affectations multiples
#même valeur pour plusieurs variables
a = b=2.5
>>> print (a, b)
2.5 2.5
Affectations parallèles
a, b=2.5, 3.2
>>> print (a, b)
2.5 3.2
12
Les Opérateurs
Opérateur d’affectation =
>>> x = 3 / 4
N.B: En Python 3, la division de >>> x
nombres entiers renvoie par défaut >>> 0.75
un nombre réel (float) . >>> type (x)
14
>>> <class ‘float’>
Les opérations sur les nombres (entier, réel)
Priorité des opérateurs (PEMDAS)
P: Parenthèse
E: Exposant
M et D: Multiplication et division
A et S: Addition et soustraction
>>> x = 5
>>> y = 3
>>> print ((50-x*6)/y)
6.666
>>>
15
Les opérations sur les nombres (entier, réel)
Les opérateurs d’affectation +=, -=, *=, /=, %=, **=, //=
16
Les opérations de Comparaison
Les opérateurs de Comparaison
Opérateur Signification
== Est égal à
!= Est différent de
>>> a = 2 #Integer
>= Est plus grand ou égal que >>> b = 1.99 #Float
<= Est plus petit ou égal que >>> c = ‘2’ #String
> Est plus grand que >>> print (a>b)
True
< Est plus petit que
>>> print (a==c)
False
Opérateurs
>>> print ((a==c) and (a>b))
[Condition 1] and [Condition 2] False
AND
Si les deux conditions sont vraies => True >>> print ((a==c) or (a>b))
[Condition 1] and [Condition 2] True
OR
Si une des conditions est vraie => True
Not [Condition]
NOT
17
Si la condition est fausse => True
Les opérations de Comparaison
Les opérateurs de comparaison renvoient « True » ou « False ».
>>> nom=‘’a’’
>>> val= 5.6547
>>> message=‘’la valeur de %s est de %f mais on peut l’arrondir à %.2f.’’
%(nom,val,val)
>>>
la valeur de a est de 5.6547 mais on peut l’arrondir à 5.65.
20
Saisie et affichage à la console
Saisie des données au clavier
input()
- permet d’effectuer une saisie au clavier
- La fonction renvoie toujours une chaîne, il faut convertir
La fonction input avec un seul paramètre, une chaîne de caractères, lequel est
un message explicatif destiné à l’utilisateur.
21
Saisie et affichage à la console
Saisie des données au clavier
>>> u = 1 + 3.4j
>>> type(u)
<type 'complex'>
>>> type(3 + 4.4)
<type 'float'>
>>> divmod(18,6)
25 (3,0)
Fonctions sur types numériques
pow(m, n) ou pow(m, n, p) >>> pow(4, 2)
Dans les 2 cas, mn est d’abord calculé; puis, 16
si le troisième argument est fourni, >>> pow(3, 2, 5)
alors (m ** n) % p est retourné; 4
sinon, m ** n est retourné.
>>> round(3.499)
26
Fonctions sur type String
Accès aux caractères d’une chaîne
mot = "apprendre" # Le premier caractère est en position 0.
print (mot[3], mot[4], mot[5], mot[6]) r e n d
Concaténation de chaînes à l’aide de l’opérateur +
mot = "apprend"
mot = mot + "re"
print (mot[3] + mot[4] + mot[5] + mot[6]) rend
Répétition de chaînes à l’aide de l’opérateur *
mot = "cher" * 2 chercher
print (mot)
>>> print ("On peut concaténer une chaîne et un nombre converti : " + str(1.14 + 3))
On peut concaténer une chaîne et un nombre converti : 4.14
>>>
Fonctions sur le type String
Extraîre une sous-chaîne
En déclarant l’indice de début (inclus) et l’indice de fin (exclu), séparés par (:)
En déclarant l’indice de début (inclus) et l’indice de fin (exclu) et le pas , séparés
par (:) 0 1 2 3 4 5
P y t h o n
-6 -5 -4 -3 -2 -1
>>> mot = ”python” >>> mot[2:6]
>>> mot[0] ‘thon’
‘p’ >>> mot[0:2] + mot[2:6]
>>> mot[-1] ‘python’
‘n’ >>> mot[:2]
>>> mot[0]==mot[-1] ‘ py ‘
False >>> mot[-2:]
>>> mot[0:2] ‘on’
‘py’
>>> mot[2:5] >>> mot[1:5:2]
‘tho’ ‘yh’
Fonctions sur type String
Exemples d’Autres Fonctions
>>> mot = ”python”
>>> mot.capitalize() #1er lettre en Majuscule
‘Python’
>>> phrase=‘je suis à la maison’
>>> ‘’maison’’ in phrase #savoir si « maison » dans la phrase ou non
True
>>> ‘’Maison ‘’ in phrase
False
>>> phrase.find(‘’maison’’) >>> phrase.find(‘’Maison’’)
13 # « maison » commence à partir -1 # n’existe pas
de l’index 13
>>> phrase.count(‘’i’’) #renvoie le nombre de ‘’i’’ dans phrase
2
>>> phrase.upper() #convertit en majuscule
>>> phrase.lower() #convertit en miniscule
Chapitre III:
Listes et Tuples
Listes
Une liste est une variable pouvant contenir plusieurs informations. Ces listes
peuvent contenir plusieurs type d’information.
info=[“Liz”,1.73,”Emna”,1.68,”man”,1.71, “dad”,1.89]
Les listes peuvent également être ajoutées dans d’autres listes : (Liste de listes)
info2=[[“Liz”,1.73],[”Emna”,1.68],”man”,1.71, “dad”,1.89]
32
Listes
Pour manipuler les données des listes, nous devons faire appel à leurs
coordonnées:
0 1 2 3 4 5 6 7
info1=[“Liz”,1.73,”Emna”,1.68,”man”,1.71, “dad”,1.89]
-8 -7 -6 -5 -4 -3 -2 -1 index
info1[-1]=2 2
print(info1[-1])
33 info1=[“Liz”,1.73,”Emna”,1.68,”man”,1.71, “dad”,2]
Listes
Pour repérer des éléments présents dans une liste incluse dans une liste, il faut
faire comme suit:
info1=[“Liz”,1.73,”Emna”,1.68]
info2=[”man”,1.71, “dad”,2]
info3=[info1, info2]
34
Listes
Manipulation des Listes
>>>info=[‘Luis’, 1.74, ‘Sami’, 1.65, ‘Amal’, 88]
Changer les éléments de Liste:
>>>info[3]=7
[‘Luis’, 1.74, ‘Sami’, 7, ‘Amal’, 88]
N.B: Supprimer un élément d’une liste –> les index des autres éléments qui
viennent après celui supprimé sont tous modifiés.
Listes
Manipulation des Listes
[‘Luis’, 1.74, 7, ‘Amal’, 88,’Mouna’, ‘Ali’, 1.79]
Supprimer la première occurrence d’un élément à partir de sa valeur:
>>>info .remove(88)
>>>a .remove(x)
[‘Luis’, 1.74, 7, ‘Amal’, ‘Mouna’,‘Ali’, 1.79]
>>>info .count(7)
>>>a .count(x)
1
Listes
Manipulation des Listes
Liste_num=[21,34,17,100,83,20,37,2]
Modifier la liste en la triant:
Liste_num .sort()
>>>a .sort()
[2,17,20,21,34,37,83,100]
Si X est une liste, la commande Y=X ne crée pas un nouvel objet Y mais
simplement une référence (pointeur) vers X –> Les deux listes pointent
sur le même objet.
Tout changement effectué sur Y sera répercuté sur X aussi .
Y [1]=‘z’ X [1]=‘z’
‘a’
>>> print(Y) >>> print(X)
‘b’ ’z’
[‘a’, ’z’, ‘c’] [‘a’, ’z’, ‘c’]
>>> print(X) >>> print(Y) ‘c’
[‘a’, ’z’, ‘c’] [‘a’, ’z’, ‘c’]
Listes
Créer une liste avec une copie d’une autre liste
X=[‘a’, ‘b’, ‘c’] ‘a’ X crée une référence vers la liste
X
‘b’
1ère Solution: ‘c’
Pour faire une copie de X, nous devons faire une copie plus explicite avec list ()
ou en utilisant [ : ].
Y=list(X) créer une liste Y qui pointe sur une nouvelle liste.
Ou
Y=X[ : ] utiliser le découpage pour sélectionner explicitement tous les
éléments de la liste.
‘b’
2ème Solution: ‘c’
Utiliser la commande deepcopy du module copy :
>>>A=range(0,10)
>>>A=range(0,10)
>>>A=list(A)
>>>print(A)
Pour les afficher, >>>print(A)
range(0,10) on crée une Liste [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Listes
La fonction range
>>>print(list(range(5)))
[0,1,2,3,4]
>>>print(list(range(0,30,3) ))
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
>>>print(list(range(0, 30, -3)))
[]
>>>print(list(range(0,-30,-3)))
[0, -3, -6, -9, -12, -15, -18, -21, -24, -27]
>>>print(list(range(3,7)))
[3, 4, 5, 6]
>>>print(list(range(30,0,-3)))
[30, 27, 24, 21, 18, 15, 12, 9, 6, 3]
Listes
Matrice : Liste de Listes
Une matrice peut être représentée comme une liste imbriquée. Chaque ligne est
un élément d’une liste.