0% ont trouvé ce document utile (0 vote)
7 vues27 pages

Initiation à Python pour Débutants

L'initiation à la programmation en Python enseigne les bases de la programmation avec un langage réputé pour sa syntaxe claire et lisible. Python, créé par Guido van Rossum en 1989, est un langage multiplateforme, gratuit, orienté objet et interprété, largement utilisé en bioinformatique et en analyse de données. Le document couvre également des concepts fondamentaux tels que les algorithmes, les types de données, les variables, et les opérations arithmétiques en Python.

Transféré par

Fatoumata Cissé
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues27 pages

Initiation à Python pour Débutants

L'initiation à la programmation en Python enseigne les bases de la programmation avec un langage réputé pour sa syntaxe claire et lisible. Python, créé par Guido van Rossum en 1989, est un langage multiplateforme, gratuit, orienté objet et interprété, largement utilisé en bioinformatique et en analyse de données. Le document couvre également des concepts fondamentaux tels que les algorithmes, les types de données, les variables, et les opérations arithmétiques en Python.

Transféré par

Fatoumata Cissé
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Initiation à la programmation

en python
L'initiation à la programmation en Python consiste à enseigner les bases de la programmation
en utilisant le langage de programmation Python. Python est souvent recommandé pour les
débutants en raison de sa syntaxe claire et lisible, ce qui en fait un choix populaire pour l'ap-
prentissage.

Pourquoi les langages de programmation ?


Les langages de programmation sont des outils essentiels dans le domaine de l'informatique
et du développement de logiciels. Ils existent pour permettre aux programmeurs de commu-
niquer avec les ordinateurs et de créer des programmes qui exécutent des tâches spéci-
fiques. Voici quelques raisons pour lesquelles les langages de programmation sont néces-
saires :

Communication avec les ordinateurs :


Les ordinateurs comprennent des instructions binaires (0 et 1), mais il est extrêmement difficile
et fastidieux pour les humains de programmer en utilisant uniquement ce langage binaire. Les
langages de programmation fournissent une abstraction qui permet aux programmeurs de
communiquer avec les ordinateurs de manière plus compréhensible et efficace.

Productivité accrue :
Les langages de programmation sont conçus pour être plus expressifs et plus faciles à com-
prendre que le langage machine ou le langage assembleur. Cela permet aux programmeurs
de développer des logiciels plus rapidement et plus efficacement.

L’algorithme :
Un algorithme représente sous forme d’un langage « humain » l'enchaînement des actions
(instructions) nécessaires pour faire exécuter une tâche à un ordinateur (résolution d’un pro-
blème).
Un algorithme n'est donc pas exécutable directement par une machine. Mais il a l'avantage
d'être traduit facilement dans tous les langages de programmation.

L'algorithmique, l'art d'écrire des algorithmes, permet de se focaliser sur la procédure de ré-
solution du problème sans avoir à se soucier des spécificités d'un langage particulier.

Pour résoudre un problème, il est vivement conseillé de réfléchir d'abord à l'algorithme avant
de programmer, c'est à dire d'écrire le programme en langage de programmation

Présentation de python
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 Cir-
cus 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.12 a été publiée
en octobre 2023. La version 2 de Python est obsolète et n'est plus maintenue, évitez de l'utili-
ser.

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, depuis les mini-ordina-
teurs Raspberry Pi jusqu'aux supercalculateurs.
• 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 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 en-
tité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.

1- Compilation à la Volée :
Lorsqu'un programme Python est exécuté, le code source (.py) est d'abord compilé en un
bytecode (.pyc) par le compilateur Python (par exemple, CPython est l'implémentation de ré-
férence). Ce bytecode est une représentation intermédiaire du code source, plus proche du
langage machine que le code source, mais toujours indépendante de la plate-forme.

2- Machine Virtuelle Python (PVM) :


Ensuite, la Python Virtual Machine (PVM) prend le relais. La PVM est responsable de l'exécu-
tion du bytecode généré. Elle traduit le bytecode en langage machine natif pour la machine
sur laquelle le programme est en cours d'exécution.

Python un langage interprété


Comment font les langages de programmation pour transformer nos instructions en instruc-
tions compréhensibles par un ordinateur ? Il leur faut un traducteur. Certains langages utilisent
un interpréteur comme traducteur tandis que d’autres utilisent un compilateur.

Un interpréteur se distingue d’un compilateur par le fait que, pour exécuter un programme, les
opérations d’analyse et de traductions sont réalisées à chaque exécution du programme (par
un interprète) plutôt qu’une fois pour toutes (par un compilateur).
Langage de bas Niveau :
Les langages de bas niveau sont généralement plus proches du langage machine ou de l'ar-
chitecture matérielle de l'ordinateur. Ils fournissent une correspondance étroite entre les ins-
tructions du langage et les instructions exécutées par le processeur.

Langage de Haut Niveau :


Les langages de haut niveau sont conçus pour offrir une abstraction plus éloignée du matériel.
Ils permettent aux programmeurs d'exprimer des algorithmes et des idées de manière plus
proche du langage humain, ce qui rend la programmation plus facile et plus accessible.

Installation de python :

Sur Windows :

Téléchargez Python :
- Accédez au site officiel de Python à l'adresse [Link]

- Cliquez sur le bouton "Downloads".

- Choisissez la version de Python que vous souhaitez installer (recommandé : la dernière


version stable).

- Téléchargez l'installateur correspondant à votre système (32 bits ou 64 bits).

Lancez l'installateur :
- Exécutez le fichier téléchargé.
- Cochez la case "Add Python to PATH" pendant l'installation pour faciliter l'accès à Python
depuis n'importe quel répertoire dans l'invite de commande.
Terminez l'installation :
- Cliquez sur le bouton "Install Now" pour lancer l'installation.
- Attendez que l'installation soit terminée.
Vérifiez l'installation :
- Ouvrez l'invite de commande (cmd) et tapez python --version pour vérifier que Python
est installé correctement.
II. Module 2 les bases de python
Calculer avec python
Python présente la particularité de pouvoir être utilisé de plusieurs manières différentes. Vous
allez d’abord l’utiliser en mode interactif, c’est-à-dire de manière à dialoguer avec lui directe-
ment depuis le clavier. Cela vous permettra de découvrir très vite un grand nombre de fonc-
tionnalités du langage. Dans un second temps, vous apprendrez comment créer vos premiers
programmes (scripts) et les sauvegarder sur disque.

Mode interactif :
En Python, le mode interactif est une manière d'interagir avec l'interpréteur Python de manière
interactive, en saisissant du code ligne par ligne. Cela permet d'exécuter des commandes
Python immédiatement et de voir les résultats instantanément. Voici comment vous pouvez
accéder au mode interactif :

Lancer l'interpréteur python :


L’interpréteur peut être lancé directement depuis la ligne de commande (dans un « shell »
Linux, ou bien dans une fenêtre DOS sous Windows.

Une fois que vous êtes dans le terminal, tapez python ou python3 ou py selon votre configu-
ration. Appuyez sur Entrée, et vous devriez voir un indicateur que vous êtes maintenant dans
l'interpréteur Python interactif.

Les opérateurs arithmétiques en python


Les opérateurs arithmétiques sont utilisés pour effectuer des opérations mathématiques élé-
mentaires telles que l’addition, la soustraction, la multiplication, la division…
Opérateurs Descriptions Exemples
>>> 5 + 5
+ Addition 10
>>> 5 - 5
- Soustraction 0
>>> 5 * 5
* Multiplication 25
>>> 5 / 5
/ Division 1.0
Division (x,z : entiers >>> 5 // 5
// 1
=> résultat entier)
Modulo >>> 5 % 5
%
(Le reste d’une division) 0

Par exemple, vous pouvez tout de suite utiliser l’interpréteur comme une simple calculatrice
de bureau.

>>> 5+5
10
>>> 10-5
5

Données et variables
L’essentiel du travail effectué par un programme d’ordinateur consiste à manipuler des don-
nées. Ces données peuvent être très diverses (tout ce qui est numérisable, en fait), mais dans
la mémoire de l'ordinateur elles se ramènent toujours en définitive à une suite finie de nombres
binaires.

Une variable apparaît dans un langage de programmation sous un nom de variable à peu près
quelconque, mais pour l’ordinateur il s’agit d’une référence désignant une adresse mémoire,
c’est-à-dire un emplacement précis dans la mémoire vive. À cet emplacement est stockée une
valeur bien déterminée. C’est la donnée proprement dite, qui est donc stockée sous la forme
d’une suite de nombres binaires, mais qui n’est pas nécessairement un nombre aux yeux du
langage de programmation utilisé. Cela peut être en fait à peu près n’importe quel « objet »
susceptible d’être placé dans la mémoire d’un ordinateur, par exemple : un nombre entier, un
nombre réel, un nombre complexe, un vecteur, une chaîne de caractères typographiques, un
tableau, une fonction etc.

En bref Les variables permettent de manipuler des informations en les nommant. Elles jouent
un rôle semblable aux inconnues dans une équation mathématique.
Noms de variables et mots réservés
Les noms de variables sont des noms que vous choisissez vous-même assez librement. Ef-
forcez-vous cependant de bien les choisir : de préférence assez courts, mais aussi explicites
que possible, de manière à exprimer clairement ce que la variable est censée contenir. Par
exemple, des noms de variables tels que l’altitude, altit ou alt conviennent mieux que x pour
exprimer une altitude.

Un bon programmeur doit veiller à ce que ses lignes d’instructions soient faciles à lire.

Sous Python ou tout autres langages de programmation, les noms de variables doivent en
outre obéir à quelques règles simples :

- 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.

- Seules les lettres ordinaires sont autorisées. Les lettres accentuées, les cédilles, les
espaces, les caractères spéciaux tels que $, #, @, etc. sont interdits, à l’exception du
caractère _ (souligné).

- La casse est significative (les caractères majuscules et minuscules sont distingués).


Attention : nom, Nom, NOM sont donc des variables différentes. Soyez attentifs !

Prenez l’habitude d’écrire l’essentiel des noms de variables en caractères minuscules (y


compris la première lettre). Il s’agit d’une simple convention, mais elle est largement respec-
tée. N’utilisez les majuscules qu’à l’intérieur même du nom, pour en augmenter éventuelle-
ment la lisibilité, comme dans tableDesMatieres.

En plus de ces règles, il faut encore ajouter que vous ne pouvez pas utiliser comme nom de
variables les « mots réservés » ci-dessous (ils sont utilisés par le langage lui-même) :

Ouvrez votre IDLE, tapez help() puis keywords :

>>> help()
help> keywords

Normalement, vous aurez une liste qui ressemble plus au moins à celle-ci, selon la version
Python que vous avez sur votre système
and as assert break class continue def
del elif else except False finally for
from global if import in is lambda
None nonlocal not pass raise return True
try while with yield or pass await

Affectation (ou assignation)


Nous savons désormais comment choisir judicieusement un nom de variable. Voyons à pré-
sent comment nous pouvons définir une variable et lui affecter une valeur. Les termes « affec-
ter une valeur » ou « assigner une valeur » à une variable sont équivalents. Ils désignent
l’opération par laquelle on établit un lien entre le nom de la variable et sa valeur (son contenu).

En Python comme dans de nombreux autres langages, l’opération d’affectation est représen-
tée par le signe égal =.

En Python, vous pouvez déclarer une variable en utilisant le nom de la variable suivi d'un signe
égal (=) et de la valeur que vous souhaitez lui attribuer.

Déclaration de variable

Nom_de_variable = valeur
m = 10
Affectations multiples
Sous Python, on peut assigner une valeur à plusieurs variables simultanément.

Exemple : x = y = 7 ; a, b = 5, 7.8

Afficher la valeur d’une variable


À la suite de l’exercice ci-dessus, nous disposons donc des variables x, y, a et b, Pour afficher
leur valeur à l’écran, il existe deux possibilités. La première consiste à entrer au clavier le nom
de la variable, puis <Enter>. Python répond en affichant la valeur correspondante. La seconde
a utilisé la fonction print()

>>> x = 7
>>> x
7
>>> print(x)
7
COMMENTAIRES
Les commentaires rendent votre programme plus facile à comprendre. Lorsque vous regardez
votre code ou que d'autres veulent collaborer avec vous, ils peuvent lire vos commentaires et
facilement comprendre ce que fait votre code.

- Le signe # est pour les commentaires. Un commentaire est une ligne de texte que Python
n'essaiera pas d'exécuter en tant que code. C'est juste pour les humains à lire.

- Vous pouvez écrire un commentaire multiligne, en commençant chaque ligne avec #, cela
peut être une douleur.

- Au lieu de cela, pour les commentaires sur plusieurs lignes, vous pouvez inclure le bloc
entier dans un ensemble de guillemets (" " " Commentaire " " ")

Structures et types de données Python


Python est un langage à typage dynamique, ce qui signifie qu’il n’est pas nécessaire de dé-
clarer les variables avant de pouvoir leur affecter une valeur. La valeur que l’on affecte pos-
sède un type qui dépend de la nature des données (nombre entier, nombre à virgule, chaîne
de caractères, etc.). Le type du contenu d’une variable peut donc changer si on change sa
valeur.

Les type de variables simples en Python (ou types de données de base)

None – None :
Python propose un type None pour signifier qu'une variable ne contient rien. La variable est
de type None et est égale à None.

>>> variable_sans_valeur = None

Les nombres entiers – int :


Un entier int ou ‘Integer’ en anglais, est une valeur numérique sans virgule.

>>> nombre_entier = 2

Les nombres réel – float :


Un nombre flottant est un nombre à virgule, en anglais ‘float’. Mais nous devons remplacer
la virgule par un point.

>>> nombre_reel = 2.5


Chaîne de caractères – str :
Chaîne de caractères terme "chaîne de caractères" ou string en anglais signifie une suite finie
de caractères, autrement dit, du texte. Une chaîne de caractères est une variable contenant
du texte

>>> chaine_de_caractere = "Bonjour !"

Booléen – bool :
Les booléens sont le résultat d'opérations logiques et ont deux valeurs possibles : True ou
False

>>> est_majeur = True

Pour connaitre le type d’une variable il suffit d’utiliser la fonction type ex : type(x) vous donne
le type de x.

>>> x = 5
>>> type(x)
<Class 'int'>

Conversion de types
En programmation, 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. En Python, rien de plus simple avec
les fonctions int(), float() et str()

>>> x = '5'
>>> type(x)
<Class 'str'>

>>> int(x)
>>> type(x)
<Class 'int'>

Le type list (liste)


Sous Python, on peut définir une liste comme une collection d’éléments séparés par des vir-
gules, l’ensemble étant enfermé dans des crochets.

Chaque valeur est automatiquement identifiée par un indice, en fonction de sa position : la


première a l'indice 0, la deuxième a l'indice 1…
>>> notes = [10,12,12,14]
>>> notes
[10,12,12,14]
>>>notes[0]
10
>>>notes[0:2] # [m:n+1]
[10,12]

Ajout : on ajoute un élément à une liste via la méthode append

>>> [Link](19)
>>> notes
[12,12,14,19]

Suppression : on supprime un élément de la liste via la fonction del (à travers l’indice de


l’élément) ou la méthode remove (à travers l’élément) :

>>> del notes[1]


>>> notes
[12,12,14]
>>> [Link](12)
>>> notes
[12,14]

Après suppression, les indices sont automatiquement réorganisés. La méthode remove ne


retire que la première occurrence de l’élément trouvée dans la liste !
Tuples
A partir des types de base (int, float, etc.), il est possible d’en élaborer de nouveaux. On les
appelle des types construits. Un exemple de type construit est le tuple. Il permet de créer une
collection ordonnée de plusieurs éléments. On dit qu’un tuple n’est pas mutable.

>>> notes = (10,12,12,14)


>>> notes
(10,12,12,14)
>>> notes[0]
10

Dictionnaires en Python
Un nouvel exemple de type construit est le dictionnaire. Les éléments d’une liste ou d’un tuple
sont ordonnés et on accède à un élément grâce à sa position en utilisant un numéro qu’on
appelle l’indice de l’élément. Un dictionnaire en Python va aussi permettre de rassembler des
éléments mais ceux-ci seront identifiés par une clé. On peut faire l’analogie avec un diction-
naire de français où on accède à une définition avec un mot.

Contrairement aux listes qui sont délimitées par des crochets, on utilise des accolades pour
les dictionnaires.
mon_dictionnaire = {"voiture": "véhicule à quatre roues", "vélo": "véhicule à deux roues"}

Un élément a été défini ci-dessus dans le dictionnaire en précisant une clé au moyen d’une
chaîne de caractères suivie de : puis de la valeur associée.

On accède à une valeur du dictionnaire en utilisant la clé entourée par des crochets :

mon_dictionnaire["voiture"]

Pour ajouter de nouvelle donnée dans le dictionnaire

mon_dictionnaire["tricycle"] = "véhicule à trois roues"

STRINGS (Opération sur les chaines de caractères)


Accès par index chaque caractère d'une chaîne lui est attribué un numéro. Ce nombre est
appelé l'indice.

>>> n = "Ryan"[3]
>>> n
'R'
>>> print("cats"[0])
'c'
FONCTIONS INTÉGRÉES
Les fonctions intégrées au langage sont relativement peu nombreuses : ce sont seulement
celles qui sont susceptibles d'être utilisées très fréquemment. Voyons comment nous pouvons
changer les chaines de caractères en utilisant ces méthodes. len(), lower(), upper(), capita-
lize()

• Vous pouvez utiliser la méthode lower() pour vous débarrasser de toutes les majuscules
dans vos chaînes. Vous appelez lower () comme ça :

"Moussa".lower() – "Moussa".upper()

• Maintenant, regardons str (), ce qui est un peu moins simple. La méthode str() transforme les
non chaînes en chaînes !

Par exemple : str(2). C’est quoi la différence ??


Concaténation des String
La concaténation en programmation est l’opération qui consiste à mettre bout à bout deux
chaînes de caractères. Elle est souvent utilisée pour combiner des chaînes de caractères en
une seule chaîne. En général, l’opérateur de concaténation est le symbole +

>>> print("La vie " + "de " + "Brian")


>>> La vie de Brian

L'opérateur « + » entre les chaînes les "ajoute" l'une après l'autre. Notez qu'il y a des espaces
à l'intérieur des guillemets après (la vie) et (de) de sorte que nous pouvons faire ressembler
la chaîne combinée à 3 mots.

En Python, la virgule, est souvent utilisée pour concaténer des éléments lorsqu'ils sont impri-
més avec la fonction print(). Lorsque vous utilisez la virgule pour séparer des valeurs dans la
fonction print(), Python ajoute automatiquement un espace entre ces valeurs.

>>> print("La vie" , "de" ,"Brian")


>>> La vie de Brian

Formatage de données
Il existe plusieurs façons de faire de la concaténation dans une chaîne de caractères. Depuis
la version 3.6 de Python, une des façons de faire les plus efficaces est d'utiliser les f-string.
Par « formatage », on entend « mise en forme » et il existe de nombreuses façons de mettre
en forme des chaînes de caractères avec Python.

f-strings
Les f-strings sont une fonctionnalité introduite dans Python 3.6 et ultérieures. Elles fournissent
une syntaxe concise et plus lisible pour incorporer des variables dans des chaînes de carac-
tères.

Pour utiliser les expressions formatées, commencez une chaine de caractère avec f ou F avant
d’ouvrir vos guillemets simples ou doubles. Dans ces chaines de caractère, vous pouvez entrer
des expressions Python entre les caractères {} qui peuvent contenir des variables ou des va-
leurs littérales.

>>> nom = "Bob"


>>> age = 25
>>> print(f"Salut, je m'appelle {nom} et j'ai {age} ans.")

La méthode [Link]() sur les chaines de caractères exige un plus grand effort manuel. Vous
utiliserez toujours les caractères {} pour indiquer où une variable sera substituée et donner
des détails sur son formatage, mais vous devrez également fournir les informations à formater.
>>> nom = "Bob"

>>> age = 25

>>> print("Bonjour, je m'appelle {} et j'ai {} ans.".format(nom, age))

Dans cet exemple, les accolades {} sont utilisées comme espaces réservés. La méthode for-
mat () remplace ces espaces réservés par les valeurs spécifiées dans l'ordre où elles sont
fournies en arguments à la méthode.

On peut également spécifier l'ordre des substitutions en utilisant des indices :

>>> nom = "Bob"


>>> age = 25
>>> print("Bonjour, j'ai {1} ans et je m'appelle {0}.".format(nom, age))

Opérateurs de comparaison
La condition évaluée après l’instruction if peut contenir les opérateurs de comparaison sui-
vants :

x == y # x est égal à y

x != y # x est différent de y

x > y # x est plus grand que y

x < y # x est plus petit que y

x >= y # x est plus grand que ou égal à y

x <= y # x est plus petit que, ou égal à y

Ex : Res = 10 > 2 – Bol = 2 > 10 ; x = ‘a’ == ‘a’ …

Les opérateurs booléens


Comparent les instructions et produisent des valeurs booléennes. Il y a trois opérateurs boo-
léens :

• AND qui vérifie si les deux instructions sont vraies.

• OR qui vérifie si au moins l'une des déclarations est True.

• NOT ce qui donne le contraire de la déclaration.


NB : Les opérateurs Python vous permettent également de comparer des valeurs. Lorsque
vous comparez deux valeurs, un booléen est renvoyé True (Vrai) ou False (Faux). Les ob-
jets comparés n’ont pas besoin d’avoir le même type.

Exemple :

B = True or False

C = 100 >= 50 or False

A = False and False

B = (2 <= 2) and "Alpha" == "Bravo“

Opérateurs d'affectation ( =, +=, -=, *=, etc),

Opérateurs spéciaux ( is,not, is not, in, not in) …

Note : INPUT permet de récupérer les entrer du clavier. Que vous pourrez ensuite utiliser dans
le reste du programme.

Exemple : nom = input("Entrez votre nom :")


Module 3 : Déroulement d'un programme Python
Instructions composées – blocs d’instructions
En Python, un bloc d'instructions fait référence à un ensemble de lignes de code qui sont
regroupées et exécutées ensemble en réponse à une certaine condition ou dans un contexte
particulier, comme une fonction, une boucle ou une structure conditionnelle.

Sous Python, les instructions composées ont toujours la même structure : une ligne d’en-tête
terminée par un double point, suivie d’une ou de plusieurs instructions indentées sous cette
ligne d’en-tête.

Le schéma ci-contre en résume le principe.


• Les blocs d’instructions sont toujours associés
à une ligne d’en-tête contenant une instruction
bien spécifique (if, elif, else, while, def, etc.) se
terminant par un double point.
• Les blocs sont délimités par l’indentation :
toutes les lignes d’un même bloc doivent être
indentées exactement de la même manière
(c’est-à-dire décalées vers la droite d’un même
nombre d’espaces). Le nombre d’espaces à
utiliser pour l’indentation est quelconque, mais
la plupart des programmeurs utilisent des
multiples de 4.

Les structures conditionnelles


Les structures conditionnelles en Python sont un ensemble d’instructions logiques qui contrô-
lent l’ordre dans lequel un code est exécuté.

En réalité, un programme, n’est pas toujours exécuté selon une structure séquentielle.

Comme dans notre vie de tous les jours, un code s’exécute selon des conditions que vous
pouvez déterminer.

La structure conditionnelle if
Les structures conditionnelles en Python sont nécessaires dans les situations où vous souhai-
tez que votre programme effectue une action ou un calcul uniquement lorsqu’une certaine
condition est remplie.

>>> x = 3
>>> y = 5
>>> if x < y :
>>> print("x est inférieur à y")
Par contre, si x est supérieur à y, l’interpréteur ne fera rien. Modifions les valeurs des variables
x et y.

>>> x = 3
>>> y = 2
>>> if x < y :
>>> print("x est inférieur à y")

La structure conditionnelle if … else


Parfois, vous souhaitez évaluer une condition et exécuter des instructions si elle est vraie.
Mais, les structures conditionnelles en Python vous offre la possibilité de faire plusieurs choix
si la condition n’est pas remplie. Ceci est possible à l’aide de l’instruction else (sinon).

x = 3
y = 2
if x < y :
print("x est inférieur à y")
else :
print("x est supérieur à y")

La structure conditionnelle if … elif … else


Il existe également une syntaxe pour exécuter plusieurs conditions consécutives. Pour cela,
on utilise une ou plusieurs instructions elif (else if qui veut dire sinon si ).

Python évalue chaque condition et exécute le premier bloc de code évalué à True. Si aucune
des expressions if et elif n’est vraie et qu’une instruction else est spécifiée, alors elle sera exé-
cutée.

x = 3

y = 2

if x < y :
print("x est inférieur à y")
elif x > y :
print("x est supérieur à y")
else :
print("les deux sont égaux")

Notez qu’une fois une condition est exécutée, les autres seront ignorées, même si elles sont
évaluées à True.
Les Boucles (Instructions répétitives)
En programmation, on appelle boucle un système d’instructions qui permet de répéter un cer-
tain nombre de fois (voire indéfiniment) toute une série d’opérations. Python propose deux
instructions particulières pour construire des boucles : l’instruction for … in …, très puissante,
que nous étudierons plus tard, et l’instruction while que nous allons découvrir tout de suite.

Boucle While

Syntaxe Exemple

while condition : i = 0
while i < 5 :
Bloc d’instruction
print(i)
Suite du programme
i = i + 1

Le mot while signifie « tant que » en anglais. Cette instruction utilisée à la seconde ligne in-
dique à Python qu’il lui faut répéter continuellement le bloc d’instructions qui suit, tant que le
contenu de la variable a reste inférieur à 7. Comme l’instruction if abordée précédemment,
l’instruction while amorce une instruction composée. Nous avons ainsi construit notre première
boucle de programmation, laquelle répète un certain nombre de fois le bloc d’instructions in-
dentées. Voici comment cela fonctionne :

• Avec l’instruction while, Python commence par évaluer la validité de la condition four-
nie entre parenthèses.
• Si la condition se révèle fausse, alors tout le bloc qui suit est ignoré et l’exécution du
programme se termine.
• Si la condition est vraie, alors Python exécute tout le bloc d’instructions constituant le
corps de la boucle, c’est-à-dire :
o L’instruction i = i + 1 qui incrémente d’une unité le contenu de la variable a (ce
qui signifie que l’on affecte à la variable a une nouvelle valeur, qui est égale à
la valeur précédente augmentée d’une unité).
o L’appel de la fonction print() pour afficher la valeur courante de la variable i.
Lorsque ces deux instructions ont été exécutées, nous avons assisté à une première itération,
et le programme boucle, c’est-à-dire que l’exécution reprend à la ligne contenant l’instruction
while. La condition qui s’y trouve est à nouveau évaluée, et ainsi de suite. Dans notre exemple,
si la condition i < 7 est encore vraie, le corps de la boucle est exécuté une nouvelle fois et le
bouclage se poursuit.

Remarque : La variable évaluée dans la condition doit exister au préalable (il faut qu’on lui
ait déjà affecté au moins une valeur).
• Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté.
• Si la condition reste toujours vraie, alors le corps de la boucle est répété indéfiniment
# -*- coding:Latin-1 -*- Le pseudo-commentaire ci-dessus indique à Python que vous utilisez
dans votre script le jeu de caractères accentués ASCII étendu correspondant aux principales
langues de l’Europe occidentale

Boucle For
For est un type de boucle qui existe dans tous les langages de programmation.
En Python, une boucle for est utilisée pour itérer sur une collection itérable de valeurs,
comme une liste, un tuple, un dictionnaire, un set ou un string.

Syntaxe

For element in sequence :


Bloc d’instruction
Suite du programme

• element est une séquence qui fait partie d’un itérable, comme une liste
• sequence est un élément itérable qui peut être parcouru avec une boucle
• Bloc d’instruction représente le corps de la boucle, c’est le code qui va être exécuté à
chaque passage dans la boucle

animaux = ["girafe", "tigre", "singe", "souris"]

for animal in animaux :

print(animal)

On remarque que animal accède directement aux éléments du tableau a tour de rôle.

Fonction range()
Python possède la fonction range() qui est aussi bien commode pour faire une boucle sur
une liste d’entiers de manière automatique :

range(start, stop, step)

• start (optionnel) : la valeur de départ de la séquence (par défaut, 0).

• stop : la valeur de fin de la séquence (non incluse).


kk
• step (optionnel) : le pas d'itération (par défaut, 1).
# Exemple 1: Utilisation simple
for i in range(5):
print(i) # Affiche les nombres de 0 à 4
# Exemple 2: Utilisation avec un début et une fin spécifiques
for i in range(2, 8):
print(i) # Affiche les nombres de 2 à 7
# Exemple 3: Utilisation avec un pas spécifique
for i in range(1, 10, 2):
print(i) # Affiche les nombres impairs de 1 à 9

break est une instruction d'une ligne qui signifie "quitter la boucle actuelle" c’est une façon
de faire sortir notre boucle de comptage et arrêter l'exécution est avec l'instruction break.
enumerate Une faiblesse de l’utilisation des itérations (for, while) est que vous ne connais-
sez pas l’indice de ce que vous regardez. Généralement, ce n'est pas un problème, mais il
est parfois utile de savoir à quel point de la liste vous êtes. Heureusement, la fonction enu-
merate intégrée facilite cette tâche.

animaux = ["girafe", "tigre", "singe", "souris"]


for index, animal in enumerate(animaux) :

print(index, animal)

BOUCLEZ UN DICTIONNAIRE
Pour parcourir un dictionnaire en Python, vous pouvez utiliser une boucle for combinée à la
méthode items() du dictionnaire. Cela vous permettra d'itérer sur les paires clé-valeur du dic-
tionnaire.

etudiant = {"nom":"camara","prenom":"Ali","note":10}

for cle, valeur in [Link]() :

print(cle, valeur)
Module 4 : Fonctions et modules
Fonctions
En Python, une fonction est un bloc de code réutilisable qui effectue une tâche spécifique. Les
fonctions sont définies à l'aide du mot-clé def, suivi du nom de la fonction et de des paramètres
entre parenthèses.

Syntaxe

def nom_de_la_fonction(paramètres):
Bloc d’instruction
Suite du programme

Les fonctions permettent :

- La réutilisation du code : Les fonctions vous permettent d'encapsuler une logique


spécifique et de l'exécuter à plusieurs endroits dans votre programme sans avoir à réécrire
le même code chaque fois.

- La modularité : Les fonctions facilitent la modularité du code en le divisant en parties plus


petites et plus gérables. Chaque fonction peut se concentrer sur une tâche spécifique, ce
qui rend le code plus facile à comprendre et à maintenir.

Fonction simple sans paramètres

def table_multi():
Fonction simple sans paramètres
for i in range(1,11):
print(f"{i} * 5 = {i*5}")

Nous avons défini une fonction très simple qui calcule et affiche les 10 premiers termes de la
table de multiplication par 5.

# Appel de la fonction
table_multi()

kk pouvons maintenant réutiliser cette fonction à plusieurs reprises, autant de fois que nous
Nous
le souhaitons.
Fonction avec paramètres

Dans nos derniers exemples, nous avons défini et utilisé une fonction qui affiche les termes
de la table de multiplication par 5. Supposons à présent que nous voulions faire de même avec
la table par 9. Nous pouvons bien entendu réécrire entièrement une nouvelle fonction pour
cela. Mais si nous nous intéressons plus tard à la table par 13, il nous faudra encore recom-
mencer. Ne serait-il donc pas plus intéressant de définir une fonction qui soit capable d’afficher
n’importe quelle table, à la demande ? Lorsque nous appellerons cette fonction, nous devrons
bien évidemment pouvoir lui indiquer quelle table nous souhaitons afficher. Cette information
est L’ARGUMENT de la fonction. Dans la définition d’une telle fonction, il faut prévoir une va-
riable particulière pour recevoir l’argument transmis. Cette variable particulière s’appelle un
PARAMETRE.

def table_multi(base):
for i in range(1,11):
print(f"{i} * {base} = {i*base}")

La fonction table_multi() telle que définie ci-dessus utilise le paramètre base pour calculer les
dix premiers termes de la table de multiplication correspondante. Pour tester cette nouvelle
fonction, il nous suffit de l’appeler avec un argument.

# Appel de la fonction
table_multi(13)

Fonction avec plusieurs paramètres


La fonction table_multi() est certainement intéressante, mais elle n’affiche toujours que les dix
premiers termes de la table de multiplication, alors que nous pourrions souhaiter qu’elle en
affiche d’autres. Qu’à cela ne tienne. Nous allons l’améliorer en lui ajoutant des paramètres
supplémentaires.

def table_multi(base, fin):


for i in range(1,fin+1):
print(f"{i} * {base} = {i*base}")
# Appel de la fonction
table_multi(5, 11)

kk

kk
Return
En Python, le mot-clé return est utilisé pour quitter une fonction et renvoyer une valeur.
Donc la fonction peut s’utiliser à la droite du signe égale dans des expressions telles que y =
round(a). On comprend aisément que dans cette expression, la fonction round() renvoie une
valeur (l’arrondi de l’argument a) qui est directement affectée à la variable y.

def somme(a,b):
return a + b
# Appel de la fonction
s = somme(5,6)

Valeurs par défaut pour les paramètres


Dans la définition d’une fonction, il est possible (et souvent souhaitable) de définir un argument
par défaut. On obtient ainsi une fonction qui peut être appelée avec une partie seulement des
arguments attendus.

def table_multi(base, fin = 10):


for i in range(1,fin+1):
print(f"{i} * {base} = {i*base}")
# Appel de la fonction
table_multi(5)
table_multi(5,21)

Lorsque l’on appelle cette fonction en ne lui fournissant que le premier argument, le second
reçoit tout de même une valeur par défaut. Si l’on fournit les deux arguments, la valeur par
défaut pour le deuxième est tout simplement ignorée

Variables locales, variables globales (scope)


Lorsque nous définissons des variables à l’intérieur du corps d’une fonction, ces variables ne
sont accessibles qu’à la fonction elle-même. On dit que ces variables sont des variables lo-
cales à la fonction. C’est par exemple le cas des variables base et fin dans l’exercice précé-
dent. Chaque fois que la fonction table_multi() est appelée, Python réserve pour elle (dans la
mémoire
kk de l’ordinateur) un nouvel espace de noms. Les contenus des variables base et fin
sont stockés dans cet espace de noms qui est inaccessible depuis l’extérieur de la fonction.
Ainsi par exemple, si nous essayons d’afficher le contenu de la variable base juste après avoir
effectué l’exercice ci-dessus, nous obtenons un message d’erreur. La machine nous signale
clairement que le symbole base lui est inconnu. Les variables définies à l’extérieur d’une fonc-
tion sont des variables globales. Leur contenu est « visible » de l’intérieur d’une fonction, mais
la fonction ne peut pas le modifier.
a = 6
def somme():
b = 6
#a = 5
print(a + b)
somme()
#print(b) impossible
print(a)

Modules
Les modules sont des programmes Python qui contiennent des fonctions que l’on est amené
à réutiliser souvent (on les appelle aussi bibliothèques ou libraries). Ce sont des « boîtes à
outils » qui vont vous être très utiles. Les développeurs de Python ont mis au point de nom-
breux modules qui effectuent une quantité phénoménale de tâches. Pour cette raison, prenez
toujours le réflexe de vérifier si une partie du code que vous souhaitez écrire n’existe pas déjà
sous forme de module. La plupart de ces modules sont déjà installés dans les versions stan-
dards de Python. Vous pouvez accéder à une documentation exhaustive 1 sur le site de Py-
thon. N’hésitez pas à explorer un peu ce site, la quantité de modules disponibles est impres-
sionnante (plus de 300).

Importation de modules

import random
p = [Link](0,10)
print(p)

Regardons de plus près cet exemple :

• Ligne 1, l’instruction import donne accès à toutes les fonctions du module random.

• ligne 2, nous utilisons la fonction randint(0, 10) du module random. Cette fonction
renvoie un nombre entier tiré aléatoirement entre 0 inclus et 10 inclus

Module math
kk
Le module math en Python fournit un accès aux fonctions mathématiques.

import math
print([Link](5))
print([Link])
print([Link](5))
En résumé, l’utilisation de la syntaxe import module permet d’importer tout une série de fonc-
tions organisées par « thèmes ». Par exemple, les fonctions gérant les nombres aléatoires
avec random et les fonctions mathématiques avec math. Python possède de nombreux autres
modules internes.

À l’aide du mot-clé from, on peut importer une fonction spécifique d’un module donné. Remar-
quez bien qu’il est inutile de répéter le nom du module dans ce cas, seul le nom de la fonction
en question est requis.

from math import sqrt


print(sqrt(5))

Gestion des exceptions : les instructions try – except – else


Les exceptions sont les opérations qu’effectue un interpréteur ou un compilateur lorsqu’une
erreur est détectée au cours de l’exécution d’un programme. En règle générale, l’exécution
du programme est alors interrompue, et un message d’erreur plus ou moins explicite est affi-
ché.

>>> print(5/0)
print(sqrt(5))
File "<link>", line 1, in <module>
ZeroDivisionError: division by zero

Le message d’erreur proprement dit comporte deux parties séparées par un double point :
d’abord le type d’erreur, et ensuite une information spécifique de cette erreur.

Dans de nombreux cas, il est possible de prévoir à l’avance certaines des erreurs qui ris-
quent de se produire à tel ou tel endroit du programme et d’inclure à cet endroit des instruc-
tions particulières, qui seront activées seulement si ces erreurs se produisent. Dans les lan-
gages de niveau élevé comme Python, il est également possible d’associer un mécanisme
de surveillance à tout un ensemble d’instructions, et donc de simplifier le traitement des er-
reurs qui peuvent se produire dans n’importe laquelle de ces instructions. Un mécanisme de
ce type s’appelle en général mécanisme de traitement des exceptions. Celui de Python uti-
lise l’ensemble d’instructions try - except – else, qui permettent d’intercepter une erreur et
d’exécuter une portion de script spécifique de cette erreur.

try:
resultat = 10 / 0
kk
except:
print("Erreur : Impossible de diviser par zéro !")
Il fonctionne comme suit. Le bloc d’instructions qui suit directement une instruction try est exé-
cuté par Python sous réserve. Si une erreur survient pendant l’exécution de l’une de ces ins-
tructions, alors Python annule cette instruction fautive et exécute à sa place le code inclus
dans le bloc qui suit l’instruction except. Si aucune erreur ne s’est produite dans les instructions
qui suivent try, alors c’est le bloc qui suit l’instruction else qui est exécuté (si cette instruction
est présente). Dans tous les cas, l’exécution du programme peut se poursuivre ensuite avec
les instructions ultérieures.

Vous aimerez peut-être aussi