Chapitre 1
Introduction au
langage de programmation
Plan à suivre
• Introduction à Python
Le langage en soi
Les types et les opérations de base
• Les structures de contrôle
Les structures conditionnelles
Les structures itératives
2/21
Introduction à python
• Le langage en soi
• Les types et les opérations de base
Introduction à python Le langage en soi
Un historique de Python
Python est un langage de script:
• Développé depuis 1989 par Guido van Rossum
• Orienté objet
• Open source
• Il assure la portabilité
• Simple à comprendre et a écrire
• Versions:
Version 1.0: 1990
Version 2.0: 2000
Version 3.0: 2008
Version 3.13: Aujourd’hui
4/21
Introduction à Python Le langage en soi
Les performances de Python
Code Source Compilateur ByteCode Interpréteur Résultat
Avantages: Un interpréteur permettant de tester n'importe quel petit bout de code.
Inconvénient: Il peut être lent.
Que peut-on faire avec Python?
Du développement web: Django, Plone, Pyramid, Zope, etc..
Du calcul scientifique: NumPy, SickitLearn, Sage, Scipy, etc..
Des représentations graphiques: Gnuplot, Matplotlib, VTK, etc..
Des interfaces graphiques: TkInter, PyGtk, PyQt, etc..
La manipulation d’images: Pillow, OpenCV-Python, etc..
Des bases de données: MySQL, PostgreSQL, Oracle, etc..
5/21
Introduction à python Le langage en soi
Les règles d’écritures
• La casse est significative
• Le typage des variables est dynamique
• Une instruction doit commencer en première colonne
• L’indentation est obligatoire pour marquer les blocs
• Si une instruction dépasse la taille d’une ligne, il est possible soit
d’écrire un caractère de continuation ou de mettre l’instruction
entre parenthèses
Exemple
if a == b and c == d and \ if (a == b and c == d and d == e):
d == e: print("ok")
print("ok")
6/21
Introduction à python Les types et les opérations de base
Opérations de base
• Affectation
Entrée(s) Résultat
a = -5 Entrée(s) Résultat
int
type (a) a=b=c=5
555
x = 3.56 print (a, b, c)
float x, y, z = 6.7, -4, True
type (x)
6.7
z = 3 + 6j print (x)
complex
type (z) print (y) -4
txt = “salut” print (z) True
str
type (txt) del z Error
tr = True print (z) ‘z’ n’est pas définie
bool
type (tr)
7/21
Introduction à python Les types et les opérations de base
Opérations de base
• Opérateurs logiques
• Opérateurs arithmétiques not x Négation
x+y Addition
x or y Ou-logique
x-y Soustraction
x and y Et-logique
x*y Multiplication
• Exemples
x/y Division
x // y Division entière Entrée(s) Résultat
x%y Modulo print (3 * 2 + 1) 7
x ** y Puissance print (3 * (2 + 1)) 9
• Opérateurs relationnels print (round(3.75)) 4
x==y Egal print (round(3.75, 1)) 3.8
x!=y Différent print (3 / 5) 0.6
x<y Inférieur print (3 // 5) 0
x<=y Inférieur ou égal
num_1 = 3
x>y Supérieur num_2 = 2 True
x>=y Supérieur ou égal print (num_1 > num_2) = True
8/21
Introduction à python Les types et les opérations de base
Chaines de caractères
• Encadrées par des apostrophes (' ') ou des guillemets (" ")
• Les opérateurs sur les chaînes permettent de concaténer, filtrer ou extraire
des parties des chaînes de caractères entres elles
Synatxe Sémantique
len(s) Longueur de la chaîne s
s1 + s2 Concaténation de s1 et s2
s*n Répétition ’n’ fois de la chaîne au sein de la variable s
s in t Teste si la chaîne ’s’ est présente dans ’t’.
s[n] Extraction du caractère d’indice n en partant du début de la chaîne
s[-n] Extraction du n-ième caractère en partant de la fin de la chaîne
s[n:m] Extraction des caractères se trouvant l’incide n à l’indice m-1
s[:n] Extraction des ’n’ premiers caractères de la chaîne
s[n:] Extraction des derniers caractères de la chaîne à partir de l’indice n
s[-n:] Extraction des ’n’ derniers caractères de la chaîne
9/21
Introduction à python Les types et les opérations de base
Chaines de caractères
• Exemple
Entrée(s) Résultat
txt = “cours python”
12
print (len(txt))
print (txt[2]) u
print (txt[-2]) o
print (txt[2:7]) urs p
print (txt[:7]) cours p
print (txt[4:]) s python
print (txt[-4:]) Les 4 derniers caractères thon
txt2 = “math”
cours pythonmath
print (txt + txt2)
txt2 = txt*2 cours pythoncours python
print (txt2)
print (“ou” in txt) True
10/21
Introduction à python Les types et les opérations de base
La conversion entre les types
• La conversion de types permet de passer d’un type à l’autre
• La règle générale est de se servir du nom du type avec des parenthèses
Syntaxe Sémantique
bool(var) Convertit ’var’ en un booléen
int(var) Convertit ’var’ en un entier
float(var) Convertit ’var’ en un flottant
str(var) Convertit ’var’ en une chaîne de caractères
• Exemple
Entrée(s) Résultat Entrée(s) Résultat
int (10.65) 10 bool (”abv”) True
int (True) 1 bool (0) False
int (“15”) 15 bool (-5) True
int (5.4) 5 Invalid literal for int ()
int (‘A’)
bool (””) False with base 10
11/21
Introduction à python Les types et les opérations de base
print() / input()
• print(msg) : imprime à l’écran une chaîne de caractères donnée en
argument
• input(msg): permet de récupérer une chaîne de caractères tapée par
l’utilisateur (retourne une chaine)
• Exemples
Entrée(s) Résultat
a = input (“saisir un nombre: ”) Saisir un nombre: 5
print (“Le double de ” , a , “ est: ”, a + a) Le double de 5 est: 55
a = int (input(“saisir un nombre: ”)) Saisir un nombre: 5
print (“Le double de ” , a , “ est: ”, a + a) Le double de 5 est: 10
a = int (input(“saisir un nombre: ”)) TypeError: can only concatenate
print (“Le double de ” + a + “ est: ”+ (a + a)) str (not “int”) to str
a = int (input(“saisir un nombre: ”)) Saisir un nombre: 5
print (“Le double de” + str(a) + “est: ”+ str( a + a)) Le double de5est: 10
a = int (input(“saisir un nombre: ”)) Saisir un nombre: 5
print (“Le double de {} est: {}”.format( a, a + a)) Le double de 5 est: 10
12/21
Les structures de contrôle
• Structures conditionnelles
• Structures itératives
Structures de contrôle Structures conditionnelles
Les blocs
• Un bloc d’instructions est une unité de
programmation qui regroupe une
séquence ordonnée d’instructions qui
s’exécutent les unes après les autres
• Les instructions qui se trouvent au même
niveau d’indentation font partie d’un même
bloc
• Pas de délimiteurs (pas de { et de })
• Tout ce qui suit un caractère ’#’ est
considéré comme un commentaire et
est ignoré
14/21
Structures de contrôle Structures conditionnelles
Les structures conditionnelles
• Syntaxe
if <condition1>:
<blocs d'instructions 1>
elif <condition2>:
<blocs d'instructions 2>
else:
<blocs d'instructions 3>
• Exemple 1:
a = 6
if a > 0:
print(“a est strictement positive”)
if a >= 10:
print(“a est un nombre”)
else:
print(“a est un chiffre”)
a += 1
elif a is not 0:
print(“a est strictement négative”)
else:
15/21
print(“a is nul”)
Structures de contrôle Structures conditionnelles
Les structures conditionnelles
• Exemple 2:
user = ‘Admin’ user = ‘Admin’
logged_in = True logged_in = False
if user == ‘Admin’ and logged_in: if user == ‘Admin’ and not logged_in:
print(“Admin page”) print(“Admin page”)
else: else:
print(“Erreur”) print(“Erreur”)
• Exemple 3: la structure match (similaire au switch de C)
option = 2
match option:
case 1: print("Option 1 selected“)
case 2: print("Option 2 selected“)
case 3: print("Option 3 selected“)
case _: print("Invalid option“)
16/21
Structures de contrôle Structures conditionnelles
Conditions
Types évaluant à faux :
• None
• False
• Tous les zéros : 0 , 0. , 0j
• Les listes/tuple/chaines vides/dictionnaires/ensembles : [ ] , ( ) , '' '', { }
• Tout objet dont la méthode bool( ) retourne False
• Tout objet dont la méthode len( ) retourne 0
Entrée(s) Résultat
Exemple
condition = 5 True
condition = 5 condition = None False
if condition:
print(“True”) condition = 0 False
else: condition = ‘ ’ False
print(“False”)
condition = [] False
condition = () False
17/21
condition = {} False
Structures de contrôle Structures itératives
Boucle for
• En Python, "for" est un itérateur sur des collections d’objets. Il est utilisé
pour parcourir, dans l’ordre s’il y en a un, les éléments de la collection
• Syntaxe:
for elem in iterable :
Instructions
iterable est souvent:
range(debut,fin,[step=1])
une liste
n’importe quel objet itérable
Remarque : la fonction range(start, stop, step) permet de créer
une collection de nombres pour itérer dessus
• Exemples
for i in range(5): for i in range(2,6): for i in range(2,10,2):
print(i) print(i) print(i)
0 2 2
Résultats 1 3 4
2 4 6
3 5 8
4 18/21
Structures de contrôle Structures itératives
Boucle for
• Exemples
s
s = ”salut” a
for c in s: l
print(c) u
t
Sum = 0
for i in [1, 2, 3, 4]:
10
Sum += i
print(Sum)
2 a
2 b
L = [2, 3, 4] 2 c
for x in L: 3 a
for letter in ’abc’: 3 b
print(x,letter) 4 a
4 b
4 c
19/21
Structures de contrôle Structures itératives
Boucle while
• Syntaxe
while <condition1>: while <condition1>:
<blocs d'instructions 1> <blocs d'instructions 1>
if <condition2>: break
if <condition3>: continue
break : sort de la boucle sans else:
passer par else <blocs d'instructions 2>
continue : remonte au début de la boucle
pass : ne fait rien
else : lancé si et seulement si la boucle se termine normalement
• Exemple
x = 0 0
While True: 1
while 1: Boucle infinie if x == 5: break 2
pass print(x)
3
x += 1
4
20/21
Structures de contrôle Structures itératives
Boucle while
• Exemples
a = 7
i = a // 2
while i > 1:
if a % i == 0:
7 est un nombre
print(i, “ est un diviseur de ”, a)
break premier
i = i - 1
else:
print(a, “ est un nombre premier”)
L = [1, 2, 3, 4, 5, 6]
for x in L:
if x == 3: 1
print( “found”) 2
break 1
found
print(x) 2
for x in L: Found
if x == 3: 4
print( “found”) 5
continue 21/21
6
print(x)