0% ont trouvé ce document utile (0 vote)
74 vues45 pages

Programmation. Python

Transféré par

mariem belaid
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
74 vues45 pages

Programmation. Python

Transféré par

mariem belaid
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 45

Cours de

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,…

 Jeux Vidéo: C++, C#, …

 Sites Internet (développement Web): PHP, Javascript, HTML,


CSS, Python, …

 Intelligence Artificielle: Prolog, Python, Java, …

 Base de Données: SQL, …

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

 Organisations utilisant Python: Google, Instagram, Youtube,


DropBox, …

6
Domaines d’Application
 Machine Learning, Data science

 Administration système

 Prototypage Rapide des Applications.

 La recherche et le calcul scientifique

 Les applications de Gestion

 Les applications web

…
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

 Connaître le type d’un objet

type(nom_de_variable)
 Affiche le type d’une variable (ex. type(1.2) <class ‘float’>)

9
Les variables
Identificateur de variable

 Un identificateur est utilisé pour désigner le nom de cette variable.

Règles à respecter pour les noms de variables

 Une séquence de lettres (a → z, A → Z) et de chiffres (0 à 9) qui doit toujours


commencer par une lettre. Le symbole _ est considéré comme une lettre.

 Ne doit pas contenir de caractères spéciaux hormis l’underscore (« _ »).

 Le langage est sensibles à la casse et les accentués sont autorisés en Python 3


(mais pas en Python 2). Ceci signifie que cout, Cout et COUT réfèrent trois mots
différents et coût est licite.

Exemple :

Variable_entiere, entier1, mot_en_francais sont valides mais 1er_entier,


10
nom.2, nom de variable, et a-b ne le sont pas.
Les Opérateurs
Opérateur d’affectation =

Syntaxe : identificateur_de_variable = expression

>>> a= 2 (une valeur simple)


>>> b=a+(b*c) (une combinaison d’opérations)
>>> valeur_de_pi = 3.14159 (valeur constante)

 a est une variable, en interne elle a été automatiquement typée en entier.

N.B En Python, la déclaration d’une variable et son initialisation se font en même


temps.

1- Python a deviné que la variable était un entier.  Python possède donc


un typage dynamique et non un typage statique (C++, JAVA).
2- Python a alloué l’espace en mémoire pour y accueillir un entier, et a fait
en sorte qu’on puisse retrouver la variable sous le nom a
11 3- Python a assigné la valeur 2 à la variable a
Les Opérateurs
Opérateur d’affectation =

Affectation simple #typage automatique


a = 1.0
#typage explicite
a = float(1)

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 =

Une autre façon de réaliser l’affectation de plusieurs variables à la fois est de


placer la liste des variables à gauche de l’opérateur d’affectation et la liste des
expressions à droite de l’opérateur d’affectation.

>>> a = 5.0 >>> a, b = 10, 20


>>> b = 10.0 >>> print (a, b)
>>> a, b, c = a + b, a - b, 25 10 20
>>> print (a, b, c) >>> a, b = b, a
15.0 -5.0 25 >>> print (a, b)
>>> u = v = 1. 20 10
>>> u, v, w = u + w, v + w, 3.4 >>>
NameError: name 'w' is not defined

Permutation de variables sans


13 utiliser de variable temporaire.
Les opérations sur les nombres (entier, réel)
 Les opérateurs Arithmétiques

>>> 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

 A priorité égale, les opérations sont évaluées de la gauche à droite.

>>> 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 +=, -=, *=, /=, %=, **=, //=

But : L’évaluation d’une expression et une affectation sont combinées.

Exemple >>> x = 5 >>> x %= 3 >>> x //= 2


>>> x **= 2 >>> x >>> x
>>> x 1 0
25

Note : Contrairement à C++, Python ne renferme pas les opérateurs ++ et --.

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 ».

N.B. On utilisera principalement ces opérateurs dans les branchements


18
conditionnels.
Les opérations sur les Chaînes de Caractères
>>> ‘‘Bonjour’’
>>> Bonjour >>> ‘ Aujourd\’hui’
>>> ‘Bonjour ’ >>> Aujourd’hui
>>> Bonjour >>> ‘ ‘‘ Oui ’’ il est correct ’
>>> ‘ Aujourd’hui’ >>> ‘‘ Oui ’’ il est correct
>>> SyntaxError: invalid syntax

Les opérations sur les chaines de caractères sont les suivantes:


L’addition (+) permet de concaténer deux string
La multiplication (*) permet de multiplier un string par un nombre entier
>>> ‘py’ ‘thon’ >>> texte= ‘‘ Je suis à ’’
>>> ‘python’ >>> texte ‘la maison’
>>> chaine_1 = ‘‘ Bonjour ’’ >>> SyntaxError: invalid syntax
>>> chaine_2 = ‘‘ Je m’appel Ali ’’ >>> texte + ‘la maison’
>>> chaine_1+chaine_2 >>> Je suis à la maison
>>> BonjourJe m’appel Ali >>> chaine_1*3
19
>>> BonjourBonjourBonjour
Les opérations sur les Chaînes de Caractères
 Il est possible d’ajouter des variables dans une chaine de caractères.

Pour cela, il faut ajouter les balises suivantes:


 « %s » : Pour ajouter un string

 « %i » : Pour ajouter un nombre entier

 « %.5f » : Pour ajouter un nombre à virgule (ici, 5 correspond au nombre de


décimales voulues)

>>> 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.

a = input(« Saisir votre valeur »)


a = float (a)

21
Saisie et affichage à la console
Saisie des données au clavier

Exemple : Programme qui saisit 2 entiers et affiche leur quotient.

>>> # Ce programme saisit deux valeurs entières au clavier,


>>> # calcule le quotient et
>>> # affiche le résultat.
>>>
>>> m= input("Entrez la 1er valeur :")
34
n= input("Entrez la 2eme valeur :")
6
>>> resultat = int(m ) // int(n)
>>> print ("Le quotient de ", m, " par ", n, " est : ", resultat)
Le quotient de 34 par 6 est : 5
>>>
22
Saisie et affichage à la console
Affichage des données print()
>>> print (‘’ Bonjour’’)
>>> Bonjour
>>> print(4)
4
>>> print (‘c:\dossiers\nouha’)
C:\dossiers
ouha
>>> print (r ‘c:\dossiers\nouha’)
c:\dossiers\nouha
>>> print (3+3)
6
>>> print (‘’3+3 ’’)
3+3

 Un affichage multiple est possible

23 Ex. print(a,b) #affiche a et b


Fonctions de types numériques
type() Retourne le type de l’argument.

>>> u = 1 + 3.4j
>>> type(u)
<type 'complex'>
>>> type(3 + 4.4)
<type 'float'>

bool() Retourne True si l’argument est différent de 0. False autrement.


>>> bool(3.14)
True
>>> bool(0)
False
>>> bool(-3.14)
True

repr() Convertit un objet x à une expression de type chaîne.


>>> repr(3)
24
‘3’
Fonctions sur types numériques
int()
Prend en entrée comme argument une expression de valeur numérique
ou une chaîne de caractères représentant un entier et retourne le résultat
de l’expression où la partie fractionnaire a été omise ou la chaîne de
caractères convertie en entier. >>> int(3.14)
3
int() supprime le point décimal et toutes les décimales >>> int(-3.14)
qui suivent (le nombre est tronqué). -3
>>> int("3")
abs() Retourne la valeur absolue de l’argument. 3

>>> abs(-1 + 0.25)


0.75

divmod(x,y) Retourne le pair (x//y, x%y).

>>> 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)

round()/ round(nombre [,n_chiffres]) 3.499 round()


3

Arrondir un nombre à une précision


donnée en chiffre décimal (0 chiffre par >>> round(2.8)
défaut) 3
retourne: >>> round(253.3589, 2)
- Entier : lorsqu'il est appelé avec un seul
253.3589
argument
- sinon le même type que le nombre . 2 round() 253.36

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)

 Longueur d’une chaîne


print (len(mot)) 9

 Convertir une chaîne qui représente un nombre en un nombre véritable


m = "12.3" n = '13‘ print (float(m) + int(n)) 25.3
Fonctions sur type String

 Convertir un nombre en une chaîne de caractères


str() Convertir un nombre en chaîne de caractères.

>>> 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

>>> print (info1[1]) 1.73


>>> print(info1[4]) ‘man’
>>> print(info1[-5]) 1.68
>>> print(info1[-1]) 1.89

 Il est possible de modifier ces données de la même manière

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]

>>> print (info3[1][0]) ‘man’


>>> print(info3[0][2]) ‘Emna’
>>> print(info3[1][1])
1.71

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]

Ajouter l’élément x à la fin de Liste:


>>> info.append(‘Mouna’)
>>>a .append(x)
[‘Luis’, 1.74, 1.65, ‘Amal’, 88, ‘Ali’, 1.79,’Mouna’]

Ajouter les élément d’une Liste en fin d’une autre liste:


>>>info= info + [‘Ali’, 1.79] Commande1 ; commande2
[‘Luis’, 1.74, ‘Sami’, 7, ‘Amal’, 88,’Mouna’, ‘Ali’, 1.79] =
>>>Commande1
>>>Commande 2
>>>info2= [‘Ali’, 1.79]; info.extend(info2)
[‘Luis’, 1.74, ‘Sami’, 7, ‘Amal’, 88,’Mouna’, ‘Ali’, 1.79]
Listes
 Manipulation des Listes
[‘Luis’, 1.74, ‘Sami’, 7, ‘Amal’, 88,’Mouna’, ‘Ali’, 1.79]
Supprimer des éléments de Liste à un indice déterminé:
>>>del (info [2])
>>> print(info)
[‘Luis’, 1.74, 7, ‘Amal’, 88, ‘Mouna’,‘Ali’, 1.79]

zones= [‘couloir’, 11.25, ‘cuisine’, 18.0, ‘chambre’, 20.0,’salon’, 15.45]

Supprimer la chambre et sa dimension:


>>>del (zones[-4:-2])
>>> print(zones)
[‘couloir’, 11.25, ‘cuisine’, 18.0,’salon’, 15.45]

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]

Supprimer un élément d’indice i dans la liste et le renvoie:


>>>info .pop(1)
>>>a .pop(i)
1.74
 [‘Luis’, 7, ‘Amal’, ‘Mouna’,‘Ali’, 1.79]
Insérer un élément à un emplacement donné:
>>>info.insert(2,’Sami’)
>>>a .insert(i,x) >>> print(info)
[‘Luis’, 7, ‘Sami’, ‘Amal’, ‘Mouna’,‘Ali’, 1.79]
Listes
 Manipulation des Listes
[‘Luis’, 7, ‘Sami’, ‘Amal’, ‘Mouna’,‘Ali’, 1.79]
Inverser une liste:
info .reverse()
>>>a .reverse ()
[1.79, 'Ali', 'Mouna', 'Amal', 7, ‘Sami’, 'Luis']

Renvoyer l’indice de la première occurrence de l’élément x:


>>>info .index(‘Sami’)
>>>a .index(x)
5

Renvoyer le nombre d’occurrence de l’élément x dans la liste :

>>>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]

Renvoyer le plus grand / petit élément de liste:


>>>max(a) >>>min(a)
>>>max(Liste_num) >>> min(Liste_num)
100 2

>>>x in a  renvoie True si la liste a contient l’élément x, False sinon


>>> x not in a  renvoie True si la liste a ne contient pas l’élément x, False
sinon
Listes
 Créer une liste avec une copie d’une autre liste
X crée une référence vers la liste
‘a’ X
X=[‘a’, ‘b’, ‘c’]
‘b’ Y
Y=X
‘c’

 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.

>>>Y=list(X) ou >>> Y=X[ : ] Y [1]=‘z’


>>> Y[1]=‘z’; print(Y); print(X) X ‘a’ Y ‘a’
[‘a’, ‘z’, ‘c’] ‘b’ ‘b’ ’z’
[‘a’, ‘b’, ‘c’] ‘c’ ‘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’
2ème Solution: ‘c’
 Utiliser la commande deepcopy du module copy :

>>> import copy


>>>X=[‘a’, ‘b’, ‘c’] X ‘a’ Y ‘a’
>>> Y=copy.deepcopy(X) ‘b’ ‘b’ ’z’
>>>Y[1]=‘z’ ‘c’ ‘c’
>>> print (X); print(Y)
[‘a’, ‘b’, ‘c’] Y [1]=‘z’
[‘a’, ‘z’, ‘c’]
Listes
 La fonction range
 La fonction range crée un itérateur.
 Au lieu de créer et garder en mémoire une liste d’entiers, cette fonction génère
les entiers au fur et à mesure des besoins:

range([début,] fin [, pas])


N.B: Les arguments entre crochets sont optionnels.

range(n): renvoi un itérateur de 0n-1


range(n,m): renvoi un itérateur de n, n+1, n+2, …, m-1
range(n,m,p): renvoi un itérateur de n, n+p, n+2p, …, m-1

>>>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.

info2=[[“Liz”,1.73],[”Emna”,1.68], [”man”,1.71], [“dad”,1.89]]


info2 = “Liz”,1.73
”Emna”,1.68
info2 définie une matrice 4*2 ”man”,1.71
“dad”,1.89

>>>info2=[[“Liz”,1.73],[”Emna”,1.68], [”man”,1.71], [“dad”,1.89]]


>>>print(len(info2))  la commande len renvoie la longueur de la liste
= nombre de lignes de matrice
4
>>>print(len(info2[1]))  renvoie le nombre de colonnes de matrice
2

Vous aimerez peut-être aussi