1. Le langage Python
Python est un langage portable, dynamique, extensible, gratuit, qui permet une
approche modulaire et orientée objet de la programmation
CRMEF - Marrakech
1
2. 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, TUBLES, DICTIONNAIRES ET SETS
NOTION D’OBJET
NOTION DE CLASSE
2
3. 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
◦ …
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
3
4. Python
Les concepts de la programmation
Opérateurs et expressions
◦ -, +, /, *
◦ // : division entière
◦ ** : exposant
◦ % : modulo fournit le reste de la division
◦ ==, !=,
Les commentaires : #
4
5. 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
6. Python
Les concepts de la programmation
6
Instruction de branchement
if Condition:
Séquence1
else:
Séquence2
if Condition1:
instructions
elif Condition2:
bloc_instructions
else:
autre_bloc_instructions
7. Python
Les concepts de la programmation
7
Imbrication des instructions de branchement
if Condition1:
…
if Condition2:
…
if Condition3:
…
elif:
Séquences
Else:
autres Séquences
8. Python
Les concepts de la programmation
Les boucles
– L’instruction while
8
while condition:
instruction(s)
L’instruction For
for i in range(n):
instructions
Remarque :
L’instruction range fournit une liste de valeurs.
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
range (1, 6,1) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1,6, 2) représente la liste des valeurs : 1,3,5
range(6,5,-1) représente la valeur suivante : 6
i=1
while i<6:
print(i)
i+=1
for i in range(1,6):
print(i)
9. Python
Les concepts de la programmation
Imbrication des boucles
– L’instruction while
9
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)
10. 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))
10
11. 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.
11
12. 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,…
12
13. Python
Les fonctions
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 )
13
14. Python
Les fonctions
Exemple : la somme des carrés
def sommeCarre ( x, y) :
sc = x**2 + y**2
return sc
Appel d'une fonction
>>> sommeCarre(2,5)
Ou
>>> a=2
>>> b=5
>>> sommeCarre(a,b)
>>> print(sommeCarre(a,b))
14
15. Python
Les fonctions
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)
15
16. Python
Les fonctions
Variables globales et locales
Les variables définies à l'extérieur d'une fonction sont des variables
globales. Leur contenu est visible de l'intérieur d'une fonction.
Si l’on veut accéder à une variable globale à l’intérieur d’une
fonction, on utilise le mot-clé global en Python.
Exemple :
16
def reinitialise( ):
x = 0
def reinitialise( ):
global x
x = 0
>>> x =7
>>> reinitialise( )
>>> print(x)
17. Python
Les fonctions
Variables globales et locales
De manière générale, si elle n’y est pas explicitement déclarée
comme globale, une variable x est locale à la fonction dans le corps
de laquelle elle est affectée.
Elle est globale si elle est utilisée dans la fonction sans être affectée
ou si elle est déclarée globale.
def f( ):
global a
a = a + 1
c = 2 * a
return a + b + c
Dans cette fonction, a est globale car elle est déclarée comme telle,
b est globale car elle est utilisée mais non affectée et c est locale car
elle est affectée mais n’est pas déclarée globale
17
18. Python
Les fonctions
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)
>>> f = lambda x : x * x
>>> f ( 3 )
Ou peut également préciser plusieurs arguments, voire même des
valeurs par défaut :
>>> g = lambda x , y = 2 : x * y
>>> g(5, 7)
>>> g(5)
18
19. Python
Les fonctions
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
19
Version itérative : Version récursive :
def fact(n) :
f = 1
for k in range(2,n+1):
f = f * k
return f
def fact(n) :
if n==1 :
return 1
else:
return n* fact(n-1)
20. Python
Les chaînes de caractères
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
a="L'informatique est ..."
print (a)
b='"PC" : Personnel Computer'
print(b)
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.
20
21. Python
Les chaînes de caractères
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
a="L'informatique est ..."
print (a[0], a[1], a[9])
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
Sous-chaîne :
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
Exemple : print(a[2:6])
21
22. Python
Les chaînes de caractères
La répétition
◦ On répète une chaîne à l’aide de l’opérateur *
◦ Exemple : print(a*2)
Test d’appartenance :
◦ Il est possible de tester la présence d’une sous-chaîne dans une
chaîne. (in)
◦ Exemple :
>>> a="L'informatique est ..."
>>> 'est' in a
True
Les chaînes ne sont modifiables
>>> a[0]='M'
22
23. Python
Les chaînes de caractères
Fonctions ord () et chr()
>>> ord('a') ----> 97
>>> chr(97) ----> ‘a’
Parcours d’une séquence : l’instruction for ... in ...
a="L'informatique est ..."
for i in a:
print (i)
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)
Exemple :
>>> a="L'informatique est ...«
>>> a.upper()
"L'INFORMATIQUE EST ..."
23
24. Python
Les chaînes de caractères
a.find('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
a.count('e')#compter le nombre d’occurrences d’une sous chaîne dans la chaine
a.split() : transforme une chaine en une liste de sous-chaines
>>> a.split()
["L'informatique", 'est', '...']
join(liste) : rassemble une liste de chaines en une seule
>>> l=a.split()
>>> ''.join(l)
>>> ' '.join(l)
24
25. Python
Les chaînes de caractères
lower() : convertit une chaine en minuscules
upper() : convertit une chaine en majuscules
title() : convertit en majuscule l’initiale de chaque mot
capitalize() : variante de la précédente. Convertit en majuscule seulement
la première lettre de la chaine :
swapcase() : convertit toutes les majuscules en minuscules, et vice-versa
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.
Exemple :
>>> a="L'informatique est ..."
>>> a.replace(' ',"***")
"L'informatique***est***..."
25
26. Python
Les chaînes de caractères
Déterminer la nature d’une chaine S :
S.isalnum() :
◦ renvoit True si S est composé uniquement des caractères {abcd...z} {ABCD...Z}
{012..9}
S.isalpha() :
◦ renvoit True si S est composé uniquement des caractères {abcd...z} {ABCD...Z}
S.isdigit() : renvoit True si S est composé uniquement des caractères {012..9}
S.islower() : renvoit True si S est composé uniquement de caractères minuscules
S.isspace() :
◦ renvoit True si S est composé uniquement d’espaces (blanc, tabulations, retour
chariot..)
S.istitle() :
◦ renvoit True si S est un titre c’est à dire que la première lettre de chaque mot est
une majuscule.
S.isupper() : renvoit True si S est composé uniquement de caractères majuscules
26