Marrakech
Cours Python
sninehmohamed@[Link]
1
COURS PYTHON
PLAN
• Introduction
• Présentation de Python
• Python comme langage de programmation
• Interpréteur de commandes Python
• Bases du langage
• Entrées-sorties et affectations
• Structures conditionnelles et répétitives
• Chaînes de caractères
• Structures de données en Python
• Listes, Tuples, dictionnaires et Sets
• Notion d’objet
• Notion de classe
• Modules
2
COURS PYTHON
Python : Les concepts de la programmation
• Données et variables
• Un nom de variable est une séquence de lettres (a → z , A → Z) et
de chiffres (0 → 9), qui doit toujours commencer par une lettre.
• La casse est significative
• Types de variables
• Les données numériques
• Les chaînes de caractères
• Les listes
• Les dictionnaires
• …
3
COURS PYTHON
Python : Les concepts de la programmation
• Affectation des variables
M=12
Chaine="Bonjour"
• Affectations multiples et parallèles
a=b=8 : affecter une valeur a plusieurs variables simultanément
i, j = 3, 2 : affectations parallèles
• Opérateurs et expressions
• -, +, /, *
• // : division entière
• ** : exposant
• % : modulo fournit le reste de la division
• ==, !=,
• Les commentaires : #
4
COURS PYTHON
Python : Les concepts de la programmation
• Les entrées
input(): renvoie toujours une chaine de caractères
a=input("a")
• Les fonctions de conversions
int(), float(), str()
• Les sorties
print()
print("Message")
print("Message",Variable)
print("Bonjour",expression)
5
COURS PYTHON
Python : Les concepts de la programmation
Instruction de branchement
if Condition:
Séquence1
else:
Séquence2
if Condition1:
instructions
elif Condition2:
bloc_instructions
else:
autre_bloc_instructions
6
COURS PYTHON
Python : Les concepts de la programmation
Imbrication des instructions de branchement
if Condition1:
…
if Condition2:
…
if Condition3:
…
elif:
Séquences
Else:
autres Séquences
7
COURS PYTHON
Python : Les concepts de la programmation
Introduction à la fonction range()
• Range() retourne une série de valeurs
• Syntaxe :
Range( start, stop, step)
Position de départ de la séquence Spécifie la valeur d'incrément
La valeur par défaut est 0 La valeur par défaut est 1
Position d'arrêt de la séquence
Jamais inclus dans le résultat de la fonction range()
8
COURS PYTHON
Python : Les concepts de la programmation
Les boucles
L’instruction For avec les instructions « continue » et « break »
for i in range(start, stop, step):
instructions
Exemples :
range(6) représente la liste des valeurs : 0,1, 2, 3, 4, 5
range (1,6) représente la liste des valeurs : 1, 2, 3, 4, 5
9
COURS PYTHON
Python : Les concepts de la programmation
Les boucles
– L’instruction while
while condition:
instruction(s)
10
COURS PYTHON
Python : Les concepts de la programmation
Les boucles imbriquées
– L’instruction while
while condition1:
instruction(s)
while condition2:
instruction(s)
L’instruction For
for i in range(n):
print(i)
for j in range(m):
print(j)
11
COURS PYTHON
Python : Les concepts de la programmation
Principaux types de données
Les données numériques
Le type integer, float
La fonction type() nous permet de vérifier le type de la
variable
Exemple
a=5
print (type(a))
b=5.5
print (type(b))
c='bonjour'
print(type(c))
12
COURS PYTHON
Python : Programmation Modulaire
Certains problèmes conduisent à des programmes longs, difficiles à écrire
et à comprendre. On les découpe en des parties appelées sous-
programmes ou modules.
Les fonctions et les procédures sont des modules (groupe d'instructions)
indépendants désignés par un nom. Elles ont plusieurs intérêts :
◦ permettent de "factoriser" les programmes, càd de mettre en commun
les parties qui se répètent ;
◦ permettent une structuration et une meilleure lisibilité des programmes ;
◦ facilitent la maintenance du code
◦ ces procédures et fonctions peuvent éventuellement être réutilisées dans
d'autres programmes.
13
COURS PYTHON
Python : Programmation Modulaire
Fonctions prédéfinies :
• La fonction input() : Interaction avec l’utilisateur
• La fonction print() : affiche n’importe quel nombre de valeurs fournies
en arguments
Importer un module de fonctions
• Les modules sont des fichiers qui regroupent des ensembles de
fonctions.
• Exemple :
from math import *
Ou
from math import pi,…
14
COURS PYTHON
Python : Programmation Modulaire
Définition d’une fonction en python
def nomdefonction ( arg1, arg2, … ,argk) :
bloc_instructions
[return valeur]
Appel d'une fonction
◦ L’appel de la fonction prend la forme :
nomdefonction( exp1, exp2, ... expk )
15
COURS PYTHON
Python : Programmation Modulaire
• Exemples :
16
COURS PYTHON
Python : Programmation Modulaire
• Exemples :
17
COURS PYTHON
Python : Programmation Modulaire
• Exemples : plusieurs arguments (tuples)
18
COURS PYTHON
Python : Programmation Modulaire
Exemples : plusieurs arguments (dictionnaires)
19
COURS PYTHON
Python : Programmation Modulaire
En Python, on peut utiliser les tuples pour renvoyer plusieurs valeurs.
def division ( a , b ) :
return a//b , a % b
Appel de la fonction
>>> a=13
>>> b=2
>>> q , r = division ( a , b )
>>> print('Le quotient de ',a,' par ',b,' est ',q)
>>> print('Le reste de ',a,' par ',b,' est ',r)
20
COURS PYTHON
Python : Programmation Modulaire
Fonction anonyme (lambda function)
Le mot-clé lambda en Python permet la création de fonctions anonymes (i.e.
sans nom et donc non définie par def)
Ou peut également préciser plusieurs arguments avec des valeurs par défaut
21
COURS PYTHON
Python : Programmation Modulaire
Fonctions récursives
Une fonction est dite récursive si elle appelle elle-même : on parle alors d’appel
récursif de la fonction.
Version itérative :
def fact(n) :
f=1
for k in range(2,n+1):
f=f*k
return f
22
COURS PYTHON
Python : Programmation Modulaire
Fonctions récursives Exemple : N ! = 1 x 2 x … x (N-2) x (N-1) x N
Les différents appels récursifs Fact(4) = 24
sont empilés en mémoire
jusqu’à ce que la condition
d’arrêt soit validée. Ils sont
4 * Fact(3) =4*6
ensuite dépilés jusqu’à
l’appel initial.
Version récursive : 3 * Fact(2) =3*2
def fact(n) :
if n==1 :
2 * Fact(1) =2*1
return 1
else:
return n* fact(n-1) 1
23
COURS PYTHON
Portée des variables Python
Portée des variables Python
En Python, une portée de variable spécifie l’emplacement où nous pouvons
accéder à une variable.
En fonction de la portée, nous pouvons classer les variables Python en deux
types :
Variables locales
Variables globales
24
COURS PYTHON
Python : Programmation Modulaire
Variables locales
Lorsque nous déclarons des variables à l'intérieur d'une fonction, ces variables
auront une portée locale (au sein de la fonction). Nous ne pouvons pas y
accéder en dehors de la fonction.
25
COURS PYTHON
Python : Programmation Modulaire
Variables globales
En Python, une variable déclarée en dehors de la fonction ou dans la portée
globale est appelée variable globale. Cela signifie qu'une variable globale est
accessible à l'intérieur ou à l'extérieur de la fonction.
26
COURS PYTHON
Python : Programmation Modulaire
Variables globales
Une variable est globale si elle est utilisée dans la fonction sans être affectée ou
si elle est déclarée globale.
27
COURS PYTHON
Exceptions en python
Définition :
Toutes les erreurs qui se produisent lors de l’exécution d’un programme
Python sont représentées par une exception.
Une exception est un objet qui contient des informations sur le contexte
de l’erreur.
Syntaxe :
28
COURS PYTHON
Exceptions en python
Traiter une exception
Au lieu de faire échouer un programme suite à une exception, il est
possible de proposer un traitement adapté basé sur try … except:
29
COURS PYTHON
Exceptions en python
Récupérer le message d’une exception
Les exceptions possèdent une représentation sous forme de chaîne de
caractères pour fournir un message. Pour avoir accès à l’exception, on
utilise la syntaxe suivante :
30
COURS PYTHON
Exceptions en python
Clause else
Le bloc else est exécuté uniquement si le bloc try se termine
normalement, c’est-à-dire sans qu’une exception ne survienne.
31
COURS PYTHON
Exception en python
Post-traitement
Un bloc finally est systématique appelé même si le bloc try se termine
correctement ou bien qu’une exception est survenue.
32
COURS PYTHON
Exception en python
Lever une exception
Il est possible de lever une exception grâce au mot-clé raise
33
COURS PYTHON
Les chaînes de caractères en python
Définition
Une chaîne de caractères est une suite finie de caractères consécutifs,
qu’on note entre apostrophes ou guillemets.
Le type string
• La séquence \n dans une chaine provoque un saut à la ligne.
• La séquence \' permet d’insérer une apostrophe dans une chaine délimitée
par des apostrophes.
34
COURS PYTHON
Les chaînes de caractères en python
Accès à un caractère
◦ Chaque caractère de la chaine peut être désigné par sa place dans la
séquence, à l’aide d’un index ou indice
Concaténation :
◦ On concatène deux chaînes à l’aide de l’opérateur « + »
Longueur :
On utilise la fonction len( ) pour obtenir la longueur d’une chaîne
35
COURS PYTHON
Les chaînes de caractères en python
Sous-chaîne (slincing) :
a[n:m] : n index de début, m-1 index de fin
a[:m] : sous chaîne de m caractères à partir du premier caractère
a[n:] : sous chaîne extraite à partir de l’index n
36
COURS PYTHON
Les chaînes de caractères en python
La répétition
◦ On répète une chaîne à l’aide de l’opérateur «*»
Test d’appartenance :
◦ Il est possible de tester la présence d’une sous-chaîne dans une chaîne « in »
Les chaînes ne sont modifiables
37
COURS PYTHON
Les chaînes de caractères en python
Parcours d’une séquence :
• l’instruction for ... in ...
38
COURS PYTHON
Les chaînes de caractères en python
Les chaînes sont des objets
Sous Python, les chaînes sont des objets pour les quels on peut appliquer
un certain nombre de méthodes (fonctions)
39
COURS PYTHON
Les chaînes de caractères en python
• Les chaînes sont des objets : Quelques méthodes
• [Link]('e’) retourne l’index du caractère dans la chaine s’il existe.
retourne -1 si le caractère n’existe pas dans la chaine
• [Link]('e’) compter le nombre d’occurrences d’une sous chaîne dans la chaine
• [Link]() transforme une chaine en une liste de sous-chaines
• join(liste) rassemble une liste de chaines en une seule
• lower() convertit une chaine en minuscules
• strip() enlève les espaces éventuels au début et à la fin de la chaine lstrip() et rstrip()
• replace(c1, c2) remplace tous les caractères c1 par des caractères c2 dans la chaine.
40