Académique Documents
Professionnel Documents
Culture Documents
PYTHON
ISET DE KEBILI
Chapitre 1
Environnement de
développement Python 3
Objectifs spécifiques
Apprendre les bases de la programmation Python et savoir utiliser
ce langage
Maîtriser les concepts courants de la programmation.
Développer et maintenir des applications Python.
Rochdy BELHASSEN
Manipuler les variables sous python.
Manipuler les instructions d’affectation et d’entrée/ sortie.
Ecrire des programmes PYTHON.
Eléments de contenu
1. Introduction.
2. Python : Pourquoi le Choisir pour Apprendre à
Programmer?
3. Premiers pas avec PYTHON.
4. Principaux type de données
5. Notion de bibliothèque et import des packages prédéfinis.
6. Programmation Python
1
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
1. Introduction
Le langage de programmation Python a été créé en 1989 par Guido van Rossum,
aux Pays-Bas. Le nom Python vient d'un hommage à la série télévisée Monty
Python's Flying Circus dont G. van Rossum est fan. La première version publique
de ce langage a été publiée en 1991.
La dernière version de Python est la version 3. Plus précisément, la version 3.11 a
été publiée en octobre 2022.
Ce langage de programmation présente de nombreuses caractéristiques
intéressantes :
Il est multiplateforme. C'est-à-dire qu'il fonctionne sur de nombreux systèmes
d'exploitation : Windows, Mac OS X, Linux, Android, iOS, …
Il est gratuit. Vous pouvez l'installer sur autant d'ordinateurs que vous voulez
(même sur votre téléphone !).
C'est un langage de haut niveau. Il demande relativement peu de
Rochdy BELHASSEN
connaissance sur le fonctionnement d'un ordinateur pour être utilisé.
C'est un langage interprété. Un script Python n'a pas besoin d'être compilé
pour être exécuté, contrairement à des langages comme le C ou le C++.
Il est orienté objet. C'est-à-dire qu'il est possible de concevoir en Python des
entités qui miment celles du monde réel (une cellule, une protéine, un atome,
etc.) avec un certain nombre de règles de fonctionnement et d'interactions.
Il est relativement simple à prendre en main.
Enfin, il est très utilisé en bioinformatique et plus généralement en analyse de
données.
Toutes ces caractéristiques font que Python est désormais enseigné dans de
nombreuses formations, du lycée à l'enseignement supérieur.
2
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
Polyvalence : Python est un langage polyvalent qui peut être utilisé dans
divers domaines tels que le développement web, la science des données,
l'automatisation, l'intelligence artificielle, le développement de jeux, etc. Cela
donne aux apprenants la possibilité d'explorer différentes branches de la
programmation.
Rochdy BELHASSEN
Support pour la science des données et l'apprentissage automatique :
Python est devenu un choix privilégié pour la science des données en raison
de bibliothèques telles que NumPy, Pandas, Matplotlib, ainsi que pour
l'apprentissage automatique avec des outils comme TensorFlow et PyTorch.
Cela en fait une option attractive pour ceux intéressés par ces domaines.
Orienté objet : Python est un langage orienté objet, ce qui permet aux
apprenants de comprendre et d'appliquer des concepts de programmation
avancés, ce qui est utile pour élargir leurs compétences en programmation.
3
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
d’écrire et sauvegarder des programmes (on dit aussi des scripts ou
mieux des modules) puis de les exécuter. Voici comment tout cela peut se
passer :
on ouvre une nouvelle fenêtre d’édition (File/New Window)
on y écrit une succession de définitions et d’instructions dans l’ordre.
on sauvegarde le document avec l’extension .py
On peut tester la syntaxe du module (Run/Check Module)
on lance l’exécution du module (Run/Run Module)
à tout moment, on peut revenir dans la fenêtre d’édition, modifier le
module, le lancer à nouveau.
Rochdy BELHASSEN
>>> 2+5
………………………………………………………………………………………………
……
>>> 2*3 ; 2**3
………………………………………………………………………………………………
……
………………………………………………………………………………………………
……
>>> _-6
………………………………………………………………………………………………
……
>>> 1+2.
………………………………………………………………………………………………
……
>>> 15/2 ; 15//2 ; 15%2
………………………………………………………………………………………………
……
………………………………………………………………………………………………
……
………………………………………………………………………………………………
……
Il est possible d’entrer une expression longue de plus d’une ligne avec le caractère \.
>>> "Iset kébéli \
AU 2021/2022 \
TI11\
TI12\
4
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
GE1\
GM1 "
………………………………………………………………………………………………
Rochdy BELHASSEN
……
>>> x
………………………………………………………………………………………………
……
Une même variable peut être successivement lié à des valeurs de types différents
(entiers, chaînes de caractère, etc.). Il n’y a donc pas lieu de préciser au préalable le
type de valeur que l’on désire placer dans telle ou telle variable (tout cela est réalisé
au moment de l’évaluation : c’est ce qu’on appelle le typage dynamique).
>>> z=5 ; z # z est un entier
………………………………………………………………………………………………
……
>>> z=2.5 ; z # z est un float
………………………………………………………………………………………………
……
>>> z="ISET" ; z # z est une chaine
………………………………………………………………………………………………
……
>>> z+" KEBELI"
………………………………………………………………………………………………
……
3.4 Variables : affectations simultanées
Il est possible d’effectuer simultanément plusieurs affectations de variables (de
même type ou non) :
5
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
>>> a , b , c = 5 , ‘bonjour !’ , 3.14
>>> a*b ; a+c
………………………………………………………………………………………………
…………………………………
………………………………………………………………………………………………
…………………………………
>>> x=y=z=1
>>> x,y,z
………………………………………………………………………………………………
…………………………………
>>> a , b = c , d = 3 ,8
>>> a , b , c , d
………………………………………………………………………………………………
…………………………………
>>> x , y = 3 , 7
>>> x , y = y , x
>>> x , y
………………………………………………………………………………………………
…………………………………
Rochdy BELHASSEN
3.5 Noms de variables et mots réservés
Comme nom de variable, on peut utiliser tous les identificateurs de son choix, à
l’exception de quelques mots qui sont strictement réservés par le langage, et donc
voici la liste :
6
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
Rochdy BELHASSEN
7
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
Le type float (flottant) :
Ce type est utilisé pour stocker des nombres à virgule flottante, désignés en
anglais par l’expression floating point numbers. Pour cette raison, on appelle ce type
: float.
Le type str (chaîne de caractères) :
Sous Python, une donnée de type str est une suite quelconque de caractères
délimitée soit par des apostrophes (simple quotes), soit par des guillemets (double
quotes). str est l’abréviation de string, qui veut dire chaîne en français.
Le type bool (booléen) :
Le type bool est utilisé pour les booléens. Un booléen peut prendre les valeurs True
ou False.
Exemple :
>>> type( 1 == 2)
………………………………………………………………………………………………
…………………………………
>>> type( 1+2+3)
Rochdy BELHASSEN
………………………………………………………………………………………………
…………………………………
>>> type( 1+ 2. + 3. )
………………………………………………………………………………………………
…………………………………
>>> type( 2+3j)
………………………………………………………………………………………………
…………………………………
>>> type(‘ABC’)
………………………………………………………………………………………………
…………………………………
les principales opérations sur les types numériques
8
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
Les opérateurs combinés :
Rochdy BELHASSEN
Exemple module math
Importer un module : import >>>import math
module >>>math.sqrt(2)
Pour Utiliser une fonction : ………………………………………………………
module.fonction()
créer un alias : import >>>import math as m
module as alias >>>m.pi
Pour Utiliser une fonction : ………………………………………………………
alias.fonction()
Importer toutes les fonctions >>> from math import *
d’un module : >>>cos(pi)
from module import * ………………………………………………………
Pour Utiliser une fonction :
fonction()
>>> from math import pi,sin
Importer quelques fonctions
>>>sin(pi)
d’un module :
………………………………………………………
from module import
>>>cos(pi)
fonct1,fonct2
………………………………………………………
9
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
Les fonctions mathématiques du module math :
6. Programmation Python
Rochdy BELHASSEN
6.1 Entrée au clavier (input) et affichage à l’écran (print)
10
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
………………………………………………………………………………………………
…………………………………
>>> x # ici la variable x contient un réel
………………………………………………………………………………………………
…………………………………
On voit que les chaînes de caractères sont affichées sans leurs délimiteurs
extérieurs (guillemets ou apostrophes). On peut préciser un autre séparateur avec
l’option sep=. Un affichage par print se termine par un passage à la ligne (mais on
peut préciser un autre mode de terminaison avec l’option end=).
>>> print("a ", 1, "b ", 2, "c ", 3)
………………………………………………………………………………………………
…………………………………
>>> print("a ", 1, "b ", 2, "c ", 3, sep= "** ", end= " --- ")
………………………………………………………………………………………………
…………………………………
6.2 Structure de contrôle conditionnelle if :
Rochdy BELHASSEN
La clause if permet d’exécuter des instructions différentes selon la valeur d’une
condition logique :
Syntaxe :
if condition1 :
instruction1
instruction2
...
else :
instruction3
instruction4
...
La clause else est facultative. Lorsque la condition condition1 est fausse et qu’il n’y
a aucune instruction à exécuter dans ce cas, la clause else est inutile. La syntaxe
du test devient :
if condition1 :
instruction1
instruction2
...
S’il est nécessaire d’enchaîner plusieurs tests d’affilée, il est possible de condenser
l’écriture avec le mot-clé elif :
11
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
if condition1 :
instruction1
instruction2
...
elif condition2 :
instruction3
instruction4
...
elif condition3 :
instruction5
instruction6
...
else :
instruction7
instruction8
...
N.B :
Le décalage des instructions par rapport aux lignes contenant les mots-clés if, elif,
else est très important : il fait partie de la syntaxe du langage et s’appelle
Rochdy BELHASSEN
l”indentation. Celle-ci permet de grouper les instructions ensemble. Le programme
suivant est syntaxiquement correct même si le résultat n’est pas celui désiré.
Exercice d’application :
Tester puis corriger le programme suivant :
x=1
if x > 0:
signe = 1
print("le nombre est positif")
else:
signe = -1
print("le nombre est négatif")
print("signe = ", signe)
Remarque :
Python offre la possibilité de former des expressions dont l’évaluation est soumise à
une condition. La syntaxe est la suivante : expression1 if condition else expression2
Remarque : cette construction ne permet pas l’utilisation du mot réservé elif (mais on
voit sur le deuxième exemple ci-dessous comment emboîter deux expressions
conditionnelles).
>>> x = 0; print("x positif" if x>0 else "x négatif" if x<0 else "x nul")
12
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
………………………………………………………………………………………………
…………………………………
Rochdy BELHASSEN
instruction n
Où cond est une condition qui détermine la poursuite de la répétition des instructions
incluses dans la boucle. Tant que celle-ci est vraie, les instructions 1 à n sont
exécutées.
Tout comme les tests, l’indentation joue un rôle important. Le décalage des lignes
d’un cran vers la droite par rapport à l’instruction while permet de les inclure dans la
boucle comme le montre l’exemple suivant.
Exemple1:
Écrire un programme en python qui permet de lire un entier positif.
n=int(input("donner n : "))
while n<0:
n=int(input("donner n positif : "))
Résultat :
donner n :-2
donner n positif :-3
donner n positif :-4
donner n positif :5
13
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
Exemple 2:
La multiplication russe de deux nombres entiers positifs se fait de la manière
suivante :
Diviser par deux le multiplicateur (sans tenir compte du reste éventuel).
Doubler par addition le multiplicande.
Additionner les multiplicandes dont les multiplicateurs correspondants sont
impairs.
Itérer le processus précédent, jusqu’à avoir un multiplicateur égal à 1.
26 115
13 230 →
6 460
Rochdy BELHASSEN
3 920 →
1 1840 →
14
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
B. 2ème formulation (Répéter ..Jusqu’a):
Initialisation
Répéter
instruction 1
...
instruction n
jusqu’à (cond d’arrêt)
Rochdy BELHASSEN
instruction n
if (cond d’arret) : break
15
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
C. Boucle for :
Rochdy BELHASSEN
1).
L’intervalle range(7,2,-1) représente la succession des valeurs 7, 6, 5, 4, 3.
Syntaxe:
16
Chapitre 1. Environnement de développement Python 3
Programmation TI1
PYTHON
ISET DE KEBILI
Exemple 3 :
Écrire un programme python qui affiche tous les nombres cubiques formés de trois
chiffres exemples 153 = 13 + 53 + 33
Rochdy BELHASSEN
17
Chapitre 1. Environnement de développement Python 3
ANNEXE
Les opérations élémentaires simples
L’opération d’entrée
Notation Algorithmique Notation en
Python
Pour les chaînes de caractères :
Objet = input ("Commentaire")
Ecrire ("Commentaire") Pour les entiers :
Lire (Objet) Objet = int (input ("Commentaire"))
Pour les réels :
Objet = float (input ("Commentaire"))
L’opération de sortie
Notation Algorithmique Notation en Python
Ecrire ("Message", Objet) print ("Message", Objet, end = "")
Ecrire ("Message", Expression) print ("Message", Expression, end =
"")
print ("Message", Objet)
Ecrire_nl ("Message", Objet)
print ("Message", Expression)
Ecrire_nl ("Message", Expression)
N.B. : "print" fait un retour à la ligne automatique
N.B. : Objet est de type simple.
L’opération d’affectation
Notation Algorithmique Notation en Python
Objet Valeur Objet = Valeur
Objet Objet =
Expression Expression
Objet1 Objet2 Objet1 = Objet2
N.B. : Objet1 et Objet2 doivent être de même type ou de types compatibles.
Les types de données simples
Les types des données
Types des données en Types des données en
algorithmique Python
Entier int ( )
Réel float ( )
Caractère str ( )
Booléen bool ( )
Chaîne de caractères str ( )
Les opérateurs arithmétiques et logiques
Toute structure algorithmique à laquelle il n’y a pas de correspondance au niveau du
langage de programmation utilisé sera remplacée par la structure adéquate de ce dernier.
Pour les opérateurs arithmétiques et logiques, on va se baser sur celles qui sont standards et
développés dans le tableau suivant :
Les opérateurs arithmétiques et logiques et leurs
priorités
Désignation Notation
Priorité Type
de l’opération Algo. Python
d’opérande
Parenthèses 1 (…) (…) Tous les types
Multiplication * * Entier ou Réel
Division réelle / / Réel
2
Division entière Div // Entier
Reste de la division entière Mod % Entier
Addition + + Entier ou Réel
3
Soustraction - - Entier ou Réel
Égale = == Tout Type
ordonné
Différent ≠ != Tout Type
4 ordonné
Strictement supérieur > > Tout Type
ordonné
Supérieur ou égal ≥ >= Tout Type
ordonné
Strictement inférieur < < Tout Type
ordonné
Inférieur ou égal ≤ <= Tout Type
ordonné
L’appartenance (Entier, Caractère ou ∈ in Type Scalaire
Booléen)
Remarques :
Notation
Appartenance
Algorithmique Python
Ensemble x ∈ {val1, val2, …, valn} x in {val1, val2, …}
Pour les entiers :
x in range(val1, valn+1) ou bien
x ∈ [val1..valn]
val1 <= x <= valn
Intervalle ou bien
Pour les caractères :
val1 ≤ x ≤ valn
ord(x) in range(ord(val1),ord(valn)+1) ou bien
val1 <= x <= valn