Cours :
Compétences Numériques et Programmation
[Link]
1 22/09/2025
Chapitre 2:
Concepts de base de Python
Plan
• Syntaxe de base de Python
• Variables, types de données et opérateurs
• Structures de contrôle : conditions et boucles
3 22/09/2025
Syntaxe de base de Python
Python offre deux outils essentiels : les instructions et les expressions (fonctions, équations,
etc.).
• Instruction
Des commandes adressées à l’interpréteur impliquant l’emploi de mots-clés.
>>> print "Ceci est mon premier programme PYTHON"
Ceci est mon premier programme PYTHON
>>>
L’instruction print permet d’afficher la donnée fournie, en l’occurrence une chaîne de
caractères.
Les symboles >>> et le curseur indiquent que l’interpréteur attend la prochaine
4 instruction Python.
22/09/2025
Syntaxe de base de Python
• les expressions :
Elles n’utilisent pas de mots-clés.
Il peut s’agir de simples équations, qu’on utilise avec des opérateurs arithmétiques,
ou de fonctions, qui sont appelées avec des parenthèses. Les fonctions peuvent ou
non accepter une entrée et retourner ou non une valeur.
>>> 3 - 5
-2
>>> abs(-7) La fonction abs prend en entrée un nombre et
7 retourne sa valeur absolue.
>>> _ Le caractère souligné correspond à la dernière
7 expression évaluée.
>>>
5 22/09/2025 La valeur de chaque expression est affichée à l’écran.
Syntaxe de base de Python
• les commentaires :
Les commentaires débutent toujours par un signe dièse (#).
Un commentaire peut débuter n’importe où sur une ligne.
Tous les caractères qui suivent le # sont ignorés par l’interpréteur, jusqu’à la fin de la ligne.
Les commentaires servent à documenter les programmes et
améliorer leur lisibilité. Même si Python est un langage facile
à apprendre, cela ne dispense pas le programmeur d’utiliser
des commentaires de manière adéquate dans son code.
>>> # Place aux commentaires.
>>> print (1 / 3) # Division réelle.
0.333333333333
>>>
6 22/09/2025
Syntaxe de base de Python
• Le caractère de fin de ligne (\n)
Il s’agit du retour à la ligne suivante ce qui signifie normalement une
instruction par ligne.
>>> print(10 + 5, "\n")
15
>>>
• La barre oblique inverse (\) (ou antislash). >>> print (10 + 5 \
*4\
- 7)
Cela annonce que l’instruction n’est pas terminée et 23
qu’elle se poursuit à la ligne suivante. >>>
7 26/09/2025
Syntaxe de base de Python
• Notion de bloc et indentations
Pour identifier les instructions composées, Python utilise la notion d’indentation
significative, c’est-à-dire visuelle.
Cette syntaxe légère met en lumière un bloc d’instructions et permet d’améliorer
grandement la présentation des programmes sources.
Une instruction composée se compose :
• d’une ligne d’en-tête terminée par deux-points ;
• d’un bloc d’instructions indenté par rapport à la ligne d’en-tête.
if x > 5: # ligne d’en-tête
print("x est grand") # bloc indenté
print("supérieur à 5")
print("Terminé") # hors de la boucle
8 22/09/2025
Variables, types de données et opérateurs
• Notion de variable en Python
Les programmes doivent mémoriser les données qu’ils utilisent.
Pour cela, les variables nous fournissent plusieurs représentations et méthodes
de stockage des informations.
Une variable est un emplacement en mémoire principale destiné à recevoir une
donnée. Cette zone reçoit une valeur qui peut ensuite être réutilisée.
La mémoire de votre ordinateur est comparable à des cases alignées une à une.
Ces emplacements sont numérotés séquentiellement; il s’agit d’adresses en
mémoire. 553 554 555
...
Ex.: - une donnée numérique avec une précision plus ou moins grande,
- une chaîne de caractères plus ou moins longue.
9 22/09/2025
Variables, types de données et opérateurs
• Taille des variables
Chaque emplacement en mémoire a la taille d’un octet, i.e. 8 chiffres binaires 0 ou 1 (8 bits
ou BInary digiTS). La taille d’une variable dépend de son type.
L’intérêt de la base 2 est qu’elle représente exactement ce que l’ordinateur reconnaît car les
ordinateurs ne connaissent pas les lettres, les chiffres, les instructions ou les programmes.
Note : Conversion d’un nombre binaire en base 10.
1010011 en base 2 (i.e. 10100112) équivaut en base 10 au nombre suivant :
1 x 20 + 1 x 2 1 + 0 x 2 2 + 0 x 2 3 + 1 x 2 4 + 0 x 2 5 + 1 x 2 6
ou encore
1 + 2 + 0 + 0 + 16 + 0 + 64
ce qui donne 83 en base 10 (i.e. 8310).
Par conséquent, un octet peut prendre les valeurs comprises entre 0 et 255
10 22/09/2025
car 111111112 = 25510 = 28 - 1.
Syntaxe de base de Python
• Identificateur de variable
Pour identifier une variable, on utilise un identificateur pour désigner le nom
de cette variable.
L’identificateur doit indiquer le rôle joué par cette variable; il faut éviter d’utiliser
des noms qui n’évoquent rien. Ex. : Rayon_du_cercle au lieu de x.
Cela vous épargnera de devoir connaître l’adresse réelle en mémoire de celle-ci.
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.
Aucune lettre accentuée, cédille, espace, caractère spécial à l’exception
du caractère souligné _.
Les minuscules et les majuscules sont des lettres différentes.
11 22/09/2025
Variables, types de données et opérateurs
• Mots-clés
Les mots réservés de Python 3:
and del from None True
as elif global nonlocal try
else if not while
assert
break except import or with
class False in pass yield
continue finally is raise
def for lambda return
Ces mots-clés sont utilisés par Python, vous ne pouvez pas construire de variables portant ces noms.
12 22/09/2025
Variables, types de données et opérateurs
Une constante est le contraire de variable
• C’est toute valeur numérique, chaînes de caractères, …
• Tout ce qui n’est pas désigné par un nom
Une constante possède un type mais pas d’identificateur
Python possède un certain nombre de types déjà définis ou des types de base.
Au contraire des langages tels que Java et C, on n’a pas besoin de déclarer une variable
pour signifier qu’elle existe, il suffit de lui affecter une valeur.
Le type de la variable sera défini par le type de la constante qui lui est affectée.
Le type d’une variable peut changer, il correspond toujours au type de la dernière
affectation.
13 22/09/2025
Variables, types de données et opérateurs
• Notion de typage en Python
Un type est une information sur le contenu de la variable qui indique à l’interpréteur python,
la manière de manipuler cette information.
En python le typage est dynamique : le type n’est pas précisé explicitement, il est
implicitement lié à l’information manipulée.
Par exemple : PI=3.14
• On ne précise pas le type de la variable PI
• Mais, il est implicite car pi reçoit une valeur réelle
• PI est de type réel
• Pour sa première initialisation, une variable reçoit généralement une constante
14 22/09/2025
Variables, types de données et opérateurs
• Types immuables
Une variable de type immuable ne peut pas être modifiée.
Une opération sur une variable de ce type entraîne nécessairement la création d’une
autre variable du même type, même si cette dernière est temporaire.
Pa exemple, la simple instruction x+=3 qui consiste à ajouter à la variable x la valeur 3
• Crée une seconde variable dont la valeur est celle de x augmentée de 3
• Puis recopie le contenu dans celui de la variable x.
Les nombres sont des types immuables tout comme les chaînes de caractères et les
tuples qui sont des tableaux d’objets.
15 22/09/2025
Variables, types de données et opérateurs
• Type None (rien)
Le type None signifie qu’une variable ne contient rien.
La variable est de type None et est égale à None.
Exemple :
• s = None
• print(s) # affiche None
Certaines fonctions utilisent cette convention lorsqu’il leur est impossible de retourner un
résultat. Ce n’est pas la seule option pour gérer cette impossibilité :
• Il est possible de générer une exception,
• De retourner une valeur par défaut
• Ou, retourner None.
Il n’y a pas de choix meilleur, il suffit juste de préciser la convention choisie.
16 22/09/2025
Variables, types de données et opérateurs
• Type booléen
Les booléens sont le résultat d’opérations logiques et ont deux valeurs possibles :
True ou False. Les opérateurs qui s’appliquent aux booléens :
• and : et logique
• or : ou logique
• not : négation logique
x = 4 < 5
print(x) # affiche True
print(not x) # affiche False
17 22/09/2025
Variables, types de données et opérateurs
• Types numériques
Il existe deux types de nombres en python :
• Les nombres réels float
• Et les nombres entiers int
Les fonctions int et float permettent de convertir un nombre quelconque ou une chaîne de caractères
respectivement en un entier (arrondi) et en un nombre réel.
x = int(3.5) # affiche 3
y = float(3) # affiche 3.0
z = int("3") # affiche 3
18 22/09/2025
Variables, types de données et opérateurs
• Types numériques
Il faut faire attention quand la conversion en un nombre entier n’est pas directe.
Par exemple, convertir une chaîne de caractères en entier, sauf que cette chaîne
représente un réel. Il faut d’abord la convertir en réel puis en entier, c’est à ce
moment que l’arrondi sera effectué.
i = int ("3.5") # provoque une erreur
i = int (float ("3.5")) # fonctionne correctement
19 22/09/2025
Variables, types de données et opérateurs
• Les chaînes de caractères
Une chaîne de caractères est semblable à un tableau et certains opérateurs qui
s’appliquent aux tableaux s’appliquent également aux chaînes de caractères.
Ceux-ci sont regroupés dans la table operation_string.
• La fonction str permet de convertir un nombre, un tableau, un objet en chaîne de
caractères afin de pouvoir l’afficher.
• La fonction len retourne la longueur de la chaîne de caractères.
20 22/09/2025
Variables, types de données et opérateurs
• Utilisation des chaînes de caractères
"hello"+"world" "helloworld" # concaténation
"hello"*3 "hellohellohello" # répétition
"hello"[0] "h" # indexation
"hello"[-1] "o" #depuis la fin
"hello"[1:4] "ell" # découper
len("hello") 5 # taille
"hello" < "jello" True # comparaison
"e" in "hello" True # recherche
21 22/09/2025
Variables, types de données et opérateurs
• Conversions de types, casting
On est souvent amené à convertir les types, c’est-à-dire passer d’un type numérique à une chaîne de
caractères ou vice-versa.
La fonction type() détermine le type d’une variable
Les fonctions de conversion de type :
• int() : convertir en type entier
• float() : convertir en type float
• str() : convertir en type chaîne de caractères
Ce type de conversion est une conversion explicite
Toute conversion d’une variable d’un type en un autre est appelée casting (anglais signifie changer).
22 22/09/2025
Variables, types de données et opérateurs
• Conversions de types, casting
Une conversion implicite est effectuée automatiquement par l’interpréteur python sans intervention du
programmeur.
Toute conversion d’une variable d’un type en un autre est appelée casting (anglais signifie changer).
Exemple :
intVal = 5
reelVal = 3.14
resultat = intVal + reelVal
Le type de la variable résultat est float, pour ne pas perdre la précision. intVal a été convertie implicitement en
float.
23 22/09/2025
Variables, types de données et opérateurs
• A retenir
• La conversion de type est la conversion d'un objet d'un type de données vers un autre type
de données.
• La conversion de type implicite est automatiquement effectuée par l'interpréteur Python.
• Python évite la perte de données dans la conversion de type implicite.
• La conversion de type explicite est également appelée Type Casting, les types de données
de l'objet sont convertis à l'aide de la fonction prédéfinie par l'utilisateur.
• Dans Type Casting, une perte de données peut se produire lorsque nous appliquons l'objet
à un type de données spécifique.
24 22/09/2025
Variables, types de données et opérateurs
• Présentation des opérateurs
Symbole Nom
+ Positif
SymboleNom - Négatif
* M ultiplier
== est égal
/ Diviser
!= est différent
is est Résultat entier d'une
// division
in appartient
% Modulo
not non booléen
+ Plus
and et booléen
- M oins
or ou booléen
< inférieur
lambda expression lambda > supérieur
<= inférieur ou égal
>= supérieur ou égal
25 22/09/2025
Variables, types de données et opérateurs
• L’opérateur Astérisque
Il y a 4 cas d'utilisation de l'astérisque (*) en Python :
1. Pour les opérations de multiplication (2*3) et de puissance (2**3).
2. Pour étendre à plusieurs reprises les conteneurs de type liste.
• Initialiser une liste de taille 100 par des zéros : list_ zeros = [0] * 100
3. Pour utiliser les arguments variadiques.
• def fonction( * arguments) #tuple
4. Pour déballer les conteneurs.
• def fonction( ** arguments) #dictionnaire
26 22/09/2025
Variables, types de données et opérateurs
• Les Opérateurs : Affectation
Syntaxe : identificateur_de_variable = expression
Exemple : >>> entier1 = 8
>>> entier2 = entier1 - 5
>>> entier1 = entier1 + 1
>>> print (entier1, entier2)
93
>>>
But : stocker la valeur d’une expression dans une variable.
Note :Les affectations ne sont pas des expressions; elles n’ont pas de valeurs inhérentes mais, il est permis d’enchaîner
plusieurs affectations.
>>> x = 1 avant 1
>>> y = x = x + 1 x y
>>> print x, y
22 après 2 2
>>>
27 22/09/2025 On ne peut pas écrire : y = (x = x + 1).9L83
Variables, types de données et opérateurs
• Les Opérateurs : Affectation
>>> i = 2
>>> message = "Ceci est un message"
>>> valeur_de_pi = 3.14159
>>>
Dans le langage Python, ces instructions d’affectation réalisent les opérations suivantes :
créer et mémoriser un nom de variable,
lui attribuer implicitement un type bien déterminé (entier, réel, chaîne de caractères, …)
lui associer une valeur particulière,
Établir un lien entre le nom de la variable et l’emplacement mémoire
renfermant la valeur associée.
Note : Pour définir le type des variables avant de pouvoir les utiliser, il suffit d’assigner une valeur à
un nom de variable pour que celle-ci soit automatiquement créée avec le type qui correspond
le mieux à la valeur fournie. Python possède donc un typage dynamique et non un typage
28 22/09/2025
statique (C++, JAVA).
Variables, types de données et opérateurs
>>> s = "Luc"
>>> entier = 3
>>> reel = 10.2
>>> s Affichage de la chaîne de caractères s.
'Luc'
>>> entier, reel Affichage des variables entier et reel.
(3, 10.2)
>>> s = 1 Affectation d’une valeur à une variable s.
>>> s Cela signifie que l’ancienne variable s
1 n’est plus accessible.
>>>
Ce mode d’affichage élémentaire est utilisé en mode interactif. Autrement, on opte pour l’instruction print.
>>> chaine = "Oh! la! la!"
>>> indice = 5
>>> print (chaine, indice) Les variables sont séparées par des virgules.
Oh! la! la! 5
>>> chaine, indice Notez les différences
('Oh! la! la!', 5) entre les modes d’affichage.
29 22/09/2025
>>>
Variables, types de données et opérateurs
• Affectations multiples et parallèles
>>> centre_x, centre_y, rayon = 1.0, 0.5, 12 Affectation parallèle
>>> print centre_x, centre_y, rayon
1.0 0.5 12
>>> centre_x = centre_y = 0 Affectation multiple
>>> print centre_x, centre_y, rayon
0 0 12
>>>
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.
>>> x = 5.0 >>> x, y = 10, 20
>>> y = 10.0 >>> print x, y
>>> x, y, z = x + y, x - y, 25 10 20
>>> print x, y, z >>> x, y = y, x
15.0 -5.0 25 >>> print x, y
>>> u = v = 1. 20 10
>>> u, v, w = u + w, v + w, 3.4 >>>
Traceback (most recent call last):
30
File "<pyshell#6>", line 1, in <module> u, v, w = u + w, v + w, 3.4
22/09/2025 Permutation de variables sans
NameError: name 'w' is not defined utiliser de variable temporaire.
Variables, types de données et opérateurs
• Opérateurs et expressions
>>> x, y = 3, 13
>>> x, y = x ** 2, y % x l’opérateur ** d’exponentiation,
>>> print x, y l’opérateur modulo % .
91
>>> a = 10
>>> a = a + 1
>>> print a
Dans une affectation parallèle avec des expressions,
11
l’évaluation de celles-ci se fait avec la valeur des
>>>
variables avant l’exécution de l’instruction.
• Priorité des opérateurs
Ordre de priorité : les parenthèses, **, * et /, + et -.
Si 2 opérateurs ont même priorité, l’évaluation est effectuée de gauche à droite.
>>> x = 5
>>> y = 3
>>> print x - 1 + y ** 2 * 3 / 6
31 22/09/2025 8
>>>
Variables, types de données et opérateurs
• Opérateurs d’affectation +=, -=, *=, /=, %=, **=, //=
Syntaxe : identificateur_de_variable op expression
But : L’évaluation d’une expression et une affectation sont combinées.
Exemple : >>> x = 5
>>> x **= 2 # Équivaut à x = x ** 2.
>>> x
25
>>> x %= 3
>>> x
1
>>> x //= 2
>>> x
0
>>>
Note 22/09/2025
32 : Contrairement à C++, Python ne renferme pas les opérateurs ++ et --.
Variables, types de données et opérateurs
• Saisie de données
La plupart des scripts en mode texte nécessitent la saisie de données du clavier, la méthode la
plus simple consiste à employer la fonction intégrée input().
L'utilisateur est invité à entrer des caractères au clavier et à terminer avec <Enter>.
La fonction input() fournit en retour une chaîne de caractères correspondant à ce que
l'utilisateur a entré. Cette chaîne peut alors être assignée à une variable.
Exem ple :
prenom = input("Entrez votre prénom : "))
print("Bonjour,", prénom)
33 22/09/2025
Variables, types de données et opérateurs
• Formatage de l’affichage
• La méthode format() permet de contrôler finement la création de chaînes formatées. On
l’utilisera pour un affichage via print().
• Pour un Python de version < 2.7, il est possible de changer une partie du texte en y
incorporant des marqueurs de conversion précédés de l'opérateur "%".
• Il s'agit alors d'un "print formaté" (comme avec printf dans d'autres langages).
• %s représente un paramètre de type "string" (texte).
• %d un "digit" (nombre entier).
• %f un "floating" (flottant : nombre réel).
34 22/09/2025
Structures de contrôle : conditions et boucles
35 22/09/2025
Structures de contrôle : conditions et boucles
36 22/09/2025
Structures de contrôle : conditions et boucles
37 22/09/2025
Structures de contrôle : conditions et boucles
38 22/09/2025
Structures de contrôle : conditions et boucles
39 22/09/2025
Structures de contrôle : conditions et boucles
40 22/09/2025
Structures de contrôle : conditions et boucles
41 22/09/2025
Structures de contrôle : conditions et boucles
42 22/09/2025
Merci