0% ont trouvé ce document utile (0 vote)
22 vues57 pages

Cours d'initiation à Python 3

Transféré par

officiel Clavel
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)
22 vues57 pages

Cours d'initiation à Python 3

Transféré par

officiel Clavel
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

CULTURE NUMÉRIQUE

ANALYSE DE DONNÉES
PYTHON 3

MASTER – TRONC COMMUN


Cycle Ingénieur 1ière année | 2023-2024
CM : 10 heures - TP : 18 heures - Evaluation : 02 heures – Projet 1 semaine

Equipe pédagogique :
------------------------------------------------------------------------------------------------------------------------------------
Dr KIMOU Kouadio Prosper - Maître Conférence
M. KPO Louagbeu Loua – Assistant d’Université
Enseignants-Chercheurs en Informatique - Institut National Polytechnique Félix Houphouët Boigny (INP-HB)
[Link]@[Link] / +225 01 41 03 18 00 | [Link]@[Link] | +225 07 07 77 43 84
OBJECTIFS
L’objectif de ce cours est de comprendre l’environnement informatique, s’initier à l’analyse des données en
général avec un accent porté sur l’initiation à l’analyse des données via le programme PYTHON.
Ce cours va donc apprendre les bases du langage de programmation Python, nécessaire pour évoluer
dans le domaine de l’analyse de données.
Objectifs d’apprentissage
L’étudiant doit être capable de :
Comprendre les bases de données et la nécessité de l’analyse des données
Connaitre et comprendre le langage Python
Utiliser et écrire les fonctions de base de Python
Manipuler les objets les plus courants du langage d’apprentissage Python
Mettre en œuvre une logique de programmation
Structurer votre code au sein d’un projet
3
Utiliser des librairies Python spécialisées (Numpy, Pandas, …)
SOMMAIRE

I. Introduction à python
II. Les éléments de bases en Python
III. Les structures en Python

44
1- INTRODUCTION A PYTHON

1-1. C’est quoi Python ?

o Le langage de programmation Python a été créé en 1989 par Guido Van Rossum (Pays bas)
o La dernière version la plus récente est Python 3.13 (janvier 2024)
o 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-ordinateurs
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é. 55
1- INTRODUCTION A PYTHON

1-1. C’est quoi Python ?

o Ce langage de programmation présente de nombreuses caractéristiques intéressantes :


▪ 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é plus généralement en analyse de données.

66
1- INTRODUCTION A PYTHON

1-2. Outil de programmation

Les notebooks Jupyter sont des cahiers électroniques qui, dans le même document, peuvent
rassembler du texte, des images, des formules mathématiques et du code informatique
exécutable. Ils sont manipulables interactivement dans un navigateur web.

Initialement développés pour les langages de programmation Julia, Python et R (d'où le nom
Jupyter), les notebooks Jupyter supportent près de 40 langages différents.
La cellule est l'élément de base d'un notebook Jupyter. Elle peut contenir du texte formaté au
format Markdown ou du code informatique qui pourra être exécuté.

77
1- INTRODUCTION A PYTHON
1. Outils de programmation
Les notebooks Jupyter sont des cahiers électroniques qui, dans le même document, peuvent
rassembler du texte, des images, des formules mathématiques et du code informatique
exécutable. Ils sont manipulables interactivement dans un navigateur web.

Initialement développés pour les langages de programmation Julia, Python et R (d'où le nom
Jupyter), les notebooks Jupyter supportent près de 40 langages différents.

La cellule est l'élément de base d'un notebook Jupyter. Elle peut contenir du texte formaté au
format Markdown ou du code informatique qui pourra être exécuté.

88
99
1- INTRODUCTION A PYTHON

1-3. Les variables


a. Définition
Une variable est une zone de la mémoire de l'ordinateur dans laquelle une valeur est stockée. Aux
yeux du programmeur, cette variable est définie par un nom, alors que pour l'ordinateur, il s'agit en
fait d'une adresse, c'est-à-dire d'une zone particulière de la mémoire.

Le type d'une variable correspond à la nature de celle-ci. Les trois principaux types dont nous
aurons besoin dans un premier temps sont les entiers (integer ou int), les nombres décimaux
1010
que nous appellerons floats et les chaînes de caractères (string ou str).
1- INTRODUCTION A PYTHON

1-3. Les variables


b. Exemple : les types de variable

1111
1- INTRODUCTION A PYTHON

1-3. Les variables


b. la fonction type()
Si vous ne vous souvenez plus du type d'une variable,
utilisez la fonction type() qui vous le rappellera.

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()

1212
1- INTRODUCTION A PYTHON

1-3. Les variables


c. Nommage
▪ Le nom des variables en Python peut être constitué de lettres minuscules (a à z)
▪ de lettres majuscules (A à Z)
▪ De nombre (0 à 9) ou du caractère souligné (_)
▪ Vous ne pouvez pas utiliser d'espace dans un nom de variable;
▪ Par ailleurs, un nom de variable ne doit pas débuter par un chiffre et il n'est pas recommandé
de le faire débuter par le caractère _ (sauf cas très particuliers);
▪ De plus, il faut absolument éviter d'utiliser un mot « réservé » par Python comme nom de
variable ( par exemple : for, print, range, def, return …. Voir transparent suivant);
▪ Enfin, Python est sensible à la casse, ce qui signifie que les variables Test, TesT, test, TEST
sont différentes. 1313
1- INTRODUCTION A PYTHON

1-3. Les variables


c. Nommage

Mots-clés réservés en python

1414
1- INTRODUCTION A PYTHON

1-3. Les variables


d. Ecriture scientifique
On peut écrire des nombres très grands ou très petits avec des puissances de 10 en utilisant le

symbole e

1e6 ou 3.12e-3 n'implique pas l'utilisation du nombre exponentiel e mais signifie 1x10^6 ou
3.12x10^-3
Enfin, vous avez sans doute constaté qu'il est parfois pénible d'écrire des nombres composés de
beaucoup de chiffres, par exemple le nombre d'Avogradro ou le nombre d'humains sur Terre 15
(au
15

26 août 2020) 7807568245. Python autorise l'utilisation du caractère « souligné » (ou underscore)
1- INTRODUCTION A PYTHON

1-3. Les variables


d. Ecriture scientifique

Dans ces exemples, le caractère _ est utilisé pour séparer des groupes de 3 chiffres mais on peut
faire ce qu'on veut :

1616
1- INTRODUCTION A PYTHON

1-4. Les opérateurs


a. Opérateurs arithmétiques
Les quatre opérations arithmétiques de base se font de manière simple sur les types numériques
(nombres entiers et floats) :
Remarquez toutefois que si vous mélangez les types entiers
et floats, le résultat est renvoyé comme un float (car ce type
est plus général). Par ailleurs, l'utilisation de parenthèses
permet de gérer les priorités.

1717
1- INTRODUCTION A PYTHON

1-4. Les opérateurs


a. Opérateurs arithmétiques

Oprération Symbole

Addition +
Multiplication *
Exponentielle **
Opérateurs
Division /
mathématique
Division entière //
Modulo %
Comparaison <>
Opérateurs Différent !=
Logique Test égalité ==
ET – OU and - or
1818
Affectation Affectation =
1- INTRODUCTION A PYTHON

1-4. Les opérateurs


a. Opérateurs arithmétiques
L'opérateur / effectue une division. Contrairement aux opérateurs +, -
et *, celui-ci renvoie systématiquement un float :

Pour obtenir le quotient et le


reste d'une division entière
on utilise respectivement les
symboles // et le modulo %

L'opérateur puissance utilise


les symboles **
1919
1- INTRODUCTION A PYTHON

1-4. Les opérateurs


a. Opérateurs arithmétiques

Enfin, il existe des opérateurs « combinés » qui


effectue une opération et une affectation en une
seule étape

L’opérateur += effectue une addition puis affecte le


résultat à la même variable. Cette opération
s'appelle une « incrémentation ».
Les opérateurs *=, -=, /=, //= se comportent de
manière similaire.
2020
1- INTRODUCTION A PYTHON

1-4. Les opérateurs


b. Opérateurs sur les chaînes de caractères

Pour les chaînes de caractères, deux opérations


sont possibles, l'addition et la multiplication :

L'opérateur d'addition + concatène (assemble)


deux chaînes de caractères.

L'opérateur de multiplication * entre un nombre


entier et une chaîne de caractères duplique
(répète) plusieurs fois une chaîne de caractères.
2121
1- INTRODUCTION A PYTHON

1-5. Exercice 1
a. Nombre de Friedman
Les nombres de Friedman sont des nombres qui peuvent s'exprimer avec tous leurs chiffres dans
une expression mathématique.
Par exemple, 347 est un nombre de Friedman car il peut s'écrire sous la forme 4+7^3. De même
pour 127 qui peut s’écrire sous la forme 2^7 – 1

Déterminez si les expressions suivantes correspondent à des nombres de Friedman. Pour cela,
vous les écrirez en Python puis exécuterez le code correspondant.

2222
1- INTRODUCTION A PYTHON

1-5. Exercice 1
b. Prédire le résultat : Opérations et conversions de types
Essayez de prédire le résultat de chacune des instructions suivantes, puis vérifiez-le dans
l'interpréteur Python :

2323
II. LES ELEMENTS DE BASE DE PYTHON

2-1. Affichage
a. La fonction print()
La fonction print() affiche l'argument qu'on
lui passe entre parenthèses et un retour à
ligne. Ce retour à ligne supplémentaire est
ajouté par défaut. Si toutefois, on ne veut
pas afficher ce retour à la ligne, on peut
utiliser l'argument par le mot-clé end.

Il est également possible d'afficher le contenu de


plusieurs variables (quel que soit leur type) en les
séparant par des virgules :
2424
II. LES ELEMENTS DE BASE DE PYTHON

2-1. Affichage
b. Ecriture formatée
Les f-strings permettent une meilleure
organisation de l'affichage des variables.
Reprenons l'exemple ci-dessus à propos
de notre ami John :

Enfin, il est possible de mettre entre les accolades des valeurs numériques ou des chaînes de
caractères :

2525
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes


a. Définition
Une liste est une structure de données qui contient une série de valeurs hétéro-type.
Python autorise la construction de liste contenant des valeurs de types différents (par exemple
entier et chaîne de caractères), ce qui leur confère une grande flexibilité.

2626
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes


[Link]ès aux éléments par indice
Un des gros avantages d'une liste est que vous pouvez appeler ses éléments par leur position. Ce
numéro est appelé indice (ou index) de la liste.

Soyez très attentif au fait


que les indices d'une liste
de n éléments
commencent à 0 et se
terminent à n-1. Voyez 2727
l'exemple suivant :
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes


c. Opérations sur les listes
Tout comme les chaînes de caractères,
les listes supportent l'opérateur + de
concaténation, ainsi que l'opérateur *
pour la duplication.

Vous pouvez aussi utiliser la méthode append()


lorsque vous souhaitez ajouter un seul élément à la
fin d'une liste.

2828
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes


c. Indeçage négatif

La liste peut également être


indexée avec des nombres
négatifs selon le modèle suivant :

Les indices négatifs reviennent à


compter à partir de la fin

Il est plus aisé de connaitre


l’indice du dernier élément d’une
liste. 2929
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes


[Link]
Un autre avantage des listes est la
possibilité de sélectionner une partie
d'une liste en utilisant un indiçage
construit sur le modèle [m:n+1:k] pour
récupérer tous les éléments, du m
ième au n ième (de l'élément m inclus
à l'élément n +1 exclu, par pas de k.
On dit alors qu'on récupère
une tranche de la liste, par exemple :
3030
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes


[Link]
Notez que lorsqu'aucun indice n'est
indiqué à gauche ou à droite du
symbole deux-points, Python prend
par défaut tous les éléments depuis
le début ou tous les éléments
jusqu'à la fin respectivement.

3131
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes


d. les fonctions
▪ len() vous permet de connaître la longueur d'une liste ou le nombre d’élément dans la liste
▪ range() est une fonction spéciale en Python qui génère des nombres entiers compris dans un
intervalle. range(m,n,k) génère les nombres de m à n-k par pas de k.

3232
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes


d. les fonctions

▪ max(L) renvoie le maximum d'une liste L


passée en argument
▪ min(L) renvoie le minimum d'une liste L
passée en argument
▪ sum(L) la somme d'une liste L passée en
argument.

3333
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes / les tuples


e. les tuples
À première vue, les tuples en Python ressemblent à des exemples bien connus de listes Python. Les
deux sont des listes qui contiennent beaucoup de différents contenus, peuvent les stocker et les
présenter ainsi de manière structurée.
Mais une différence subsiste : le contenu d’un tuple Python est immuable (non modifiable). En
d’autres termes, une fois que les tuples Python sont remplis de contenu, celui-ci reste identique et
ne peut pas être supprimé.
Ceci est particulièrement utile si ce contenu est composé de constantes qui doivent être
conservées dans leur forme et leur composition actuelles. Quand vous utilisez des tuples Python,
vous pouvez être assuré que leur contenu est présenté dans sa forme originale.
3434
II. LES ELEMENTS DE BASE DE PYTHON

2-2. Les listes / les tuples


e. les tuples

on peut utiliser la notation suivante :

3535
II. LES ELEMENTS DE BASE DE PYTHON

2-3. Exercice 2
a. Jours de la semaine
Constituez une liste semaine contenant les 7 jours de la semaine.
1. À partir de cette liste, comment récupérez-vous seulement les 5 premiers jours de la semaine
d'une part, et ceux du week-end d'autre part ? Utilisez pour cela l'indiçage.
[Link] un autre moyen pour arriver au même résultat (en utilisant un autre indiçage).
[Link] deux manières pour accéder au dernier jour de la semaine.
[Link] les jours de la semaine en une commande.

3636
II. LES ELEMENTS DE BASE DE PYTHON

2-3. Exercice 2
b. les saisons
Créez 4 listes hiver, printemps, ete et automne contenant les mois correspondants à ces saisons.
Créez ensuite une liste saisons contenant les listes hiver, printemps, ete et automne. Prévoyez ce
que renvoient les instructions suivantes, puis vérifiez-le dans l'interpréteur :

3737
II. LES ELEMENTS DE BASE DE PYTHON

2-3. Exercice 2
[Link] de multiplication par 9 / nombres pairs
Affichez la table de multiplication par 9 en une seule commande avec les instructions range() et
list().

Nombres pairs
Répondez à la question suivante en une seule commande. Combien y a-t-il de nombres pairs dans
l'intervalle [2, 10000].

3838
II. LES ELEMENTS DE BASE DE PYTHON

2-4. Les dictionnaires


a. Définition
▪ Comme on l’a vu avec les listes et les tuples, à partir des types de base (int, float, etc.) il est
possible d’élaborer de nouveaux types qu’on appelle des types construits.
▪ Un dictionnaire en Python va aussi permettre de rassembler des éléments (valeurs) mais ceux-
ci seront identifiés par une clé. On peut faire l’analogie avec un dictionnaire 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.

3939
II. LES ELEMENTS DE BASE DE PYTHON

2-4. Les dictionnaires


b. Manipulation

4040
II. LES ELEMENTS DE BASE DE PYTHON
D Idem Liste et tuple

Idem Liste et tuple

Idem Liste et tuple

Idem Liste et tuple


Dictionnaire

Idem Liste et tuple

Idem Liste et tuple

Idem Liste et tuple

4141
Idem Liste et tuple
II. LES ELEMENTS DE BASE DE PYTHON
DDictionnaire

4242
Idem Liste et tuple
II. LES ELEMENTS DE BASE DE PYTHON
DListe

4343
II. LES ELEMENTS DE BASE DE PYTHON
DListe

4444
III. LES STRUCTURES EN PYTHON

3-1. Les tests


a. Définition / Tests simples
Les tests sont un élément essentiel à
tout langage informatique si on veut lui
donner un peu de complexité car ils
permettent à l'ordinateur de prendre des
décisions.

4545
III. LES STRUCTURES EN PYTHON

3-1. Les tests


[Link] alternées
Parfois, il est pratique de tester si la
condition est vraie ou si elle est fausse
dans une même instruction if

4646
III. LES STRUCTURES EN PYTHON

3-1. Les tests


[Link] multiples
Les tests multiples permettent de tester plusieurs conditions en même temps en utilisant des
opérateurs booléens. Les deux opérateurs les plus couramment utilisés sont le OU et le ET.
Voici un petit rappel sur le fonctionnement de l'opérateur OU :

4747
III. LES STRUCTURES EN PYTHON

3-1. Les tests


[Link] multiples

4848
III. LES STRUCTURES EN PYTHON

3-2. Les boucles


a. La boucle for
En programmation, on est souvent amené à répéter plusieurs fois une instruction. Incontournables
à tout langage de programmation, les boucles vont nous aider à réaliser cette tâche répétitive de
manière compacte et efficace.

Imaginez par exemple que vous souhaitiez afficher les éléments d'une liste les uns après les
autres. Dans l'état actuel de vos connaissances, il faudrait taper quelque chose du style :

4949
III. LES STRUCTURES EN PYTHON

3-2. Les boucles


a. La boucle for
Si votre liste ne contient que 4 éléments,
ceci est encore faisable mais imaginez
qu'elle en contienne 100 voire 1000 ! Pour
remédier à cela, il faut utiliser les boucles.
Regardez l'exemple suivant :

On a vu que les boucles for pouvaient


utiliser une liste contenant des chaînes de
caractères, mais elles peuvent tout aussi
bien utiliser des listes contenant des
5050
entiers (ou n'importe quel type de
variable).
III. LES STRUCTURES EN PYTHON

3-2. Les boucles


a. La boucle for
Nous allons maintenant parcourir cette
liste, mais cette fois par une itération sur
ses indices :

Toutefois, il se peut qu'au cours d'une


boucle vous ayez besoin des indices,
auquel cas vous devrez itérer sur les
indices :
5151
III. LES STRUCTURES EN PYTHON

3-2. Les boucles


b. La boucle while
Une alternative à l'instruction for couramment utilisée en informatique est la boucle while. Avec ce
type de boucle, une série d'instructions est exécutée tant qu'une condition est vraie. Par exemple :

La fonction input() prend en argument un message (sous la


forme d'une chaîne de caractères), demande à l'utilisateur 5252
d'entrer une valeur et renvoie celle-ci sous forme d'une
chaîne de caractères.
III. LES STRUCTURES EN PYTHON

3-3. Exercice 3
Les boucles
1. Soit la liste ["vache", "souris", "levure", "bacterie"]. Affichez l'ensemble des éléments de cette
liste (un élément par ligne) de trois façons différentes (deux méthodes avec for et une
avec while).
2. Constituez une liste semaine contenant les 7 jours de la semaine. Écrivez une série
d'instructions affichant les jours de la semaine (en utilisant une boucle for), ainsi qu'une autre
série d'instructions affichant les jours du week-end (en utilisant une boucle while).
3. Avec une boucle, affichez les nombres de 1 à 10 sur une seule ligne.
4. Créez deux scripts qui dessinent les deux triangles comme ci-après : (voir page suivante)

5353
III. LES STRUCTURES EN PYTHON

3-3. Exercice 3
Les boucles

5454
III. LES STRUCTURES EN PYTHON

3-3. Exercice 3
Les boucles
Parcours de demi-matrice sans la diagonale (exercice ++)
En se basant sur le script précédent, on souhaite réaliser le parcours
d'une demi-matrice carrée sans la diagonale. On peut noter que cela
produit tous les couples possibles une seule fois (1 et 2 est équivalent à
2 et 1), en excluant par ailleurs chaque élément avec lui même (1 et 1, 2
et 2, etc). Pour mieux comprendre ce qui est demandé, la figure 2 indique
les cases à parcourir en gris

Créez un script qui affiche le numéro de ligne


et de colonne, puis la taille de la
matrice NxN et le nombre total de cases
parcourues. Par exemple pour une matrice
4 × 4 (N=4) :

5555
III. LES STRUCTURES EN PYTHON

3-3. Exercice 3
Les boucles
Parcours de demi-matrice sans la diagonale (exercice ++)
Testez votre script avec N=3, puis N=4 et enfin N=5.
Concevez une seconde version à partir du script précédent, où cette fois
on n'affiche plus tous les couples possibles mais simplement la valeur
de N, et le nombre de cases parcourues. Affichez cela pour des valeurs
de N allant de 2 à 10.
Pouvez-vous trouver une formule générale reliant le nombre de cases
parcourues à N ?

5656
ASSANTE
SANA

5757

Vous aimerez peut-être aussi