Python
2023-02-20
Chapter 1 Introduction à Python 1
L’écriture de programmes (ou programmation) est une activité très créative et gratifiante. Vous pouvez écrire des programmes pour de nombreuses raisons, qu’il s’agisse de gagner votre vie, de résoudre un problème difficile d’analyse de données, de vous amuser ou d’aider quelqu’un d’autre à résoudre un problème.
Ce cours part du principe que tout le monde doit savoir programmer, et qu’une fois que vous saurez programmer, vous trouverez ce que vous voulez faire de vos nouvelles compétences.
Ce cours sera fait sur python et sera appliqué à l’analyse de données structurées. Mais avant tout commençons par un peu de lexiques !
À qui est destiné ce cours ?
cours de Python en analyse de données est destiné à un large public, notamment aux personnes qui souhaitent se spécialiser dans l’analyse de données. Ce peut être des débutants en programmation ou des personnes ayant déjà des connaissances de base en programmation et souhaitant découvrir les différentes méthodes d’analyse de données en utilisant Python.
Les destinataires typiques d’un tel cours peuvent inclure :
Les professionnels qui travaillent dans les domaines de la finance, de la vente, de la marketing, de la recherche scientifique, de la technologie de l’information, de la gestion de projet et de la prise de décision pourraient tous bénéficier d’une formation en analyse de données.
Les étudiants en statistique, en informatique, en mathématiques, en économie et en sciences sociales pourraient également être intéressés par un cours de data analyse. Tous les curieux qui veulent se lancer et développer leurs compétences en programmation et en raisonnement critique.
Les étudiants en sciences informatiques, en statistiques ou en sciences de la donnée.
Objectifs du cours
Le cours peut aider les participants à acquérir les compétences nécessaires pour manipuler les données, les nettoyer, les visualiser et les analyser efficacement, ainsi qu’à développer des algorithmes pour résoudre des problèmes complexes d’analyse de données.
Présentation de Python
Python est un langage de programmation interprété, populaire, facile à apprendre et puissant. Il a été créé en 1989 par Guido van Rossum et est devenu un des langages de programmation les plus utilisés dans le monde entier.
Les principales caractéristiques de Python incluent :
Syntaxe claire et concise : Python a une syntaxe simple et concise qui permet aux développeurs de créer du code facilement lisible et compréhensible.
Polyvalence : Python peut être utilisé pour un large éventail d’applications, notamment le développement web, la création de scripts, l’analyse de données, la science des données, l’apprentissage automatique, l’intelligence artificielle et plus encore.
Bibliothèques riches : Python a une grande communauté de développeurs et une bibliothèque riche de modules et de packages prêts à l’emploi, ce qui permet aux développeurs de gagner du temps et de la productivité en utilisant des fonctionnalités déjà testées et développées.
Interprété : Python est un langage interprété, ce qui signifie que le code peut être exécuté sans avoir besoin de compiler le code en machine.
Plateforme indépendante : Python peut être exécuté sur de nombreuses plates-formes, telles que Windows, macOS et Linux, ce qui le rend facile à utiliser sur plusieurs systèmes d’exploitation.
En raison de ses caractéristiques puissantes, Python est souvent utilisé pour les projets de développement de logiciels, les applications de traitement de données, les applications d’analyse de données et les applications de science des données.
Let’s dive in !
Python est un langage de programmation très simple à appréhender. Généralement, la première chose à faire quand on fait un programme c’est d’assigner une valeur à des variables que l’on va utiliser dans la suite de notre script.
1.1 Valeur
Une valeur est l’élément de base dans un programme. Elle peut être sous plusieurs formes, elle peut être un chiffre, une chaîne de caractères, un tableau de données etc. Une valeur est souvent assignée à une variable. La variable va alors contenir cette valeur et sera utilisée à chaque fois qu’on veut faire référence à la valeur.
1.2 Variable
Comme dit précédemment, une variable est un objet permettant de stocker une information, une valeur en mémoire en lui donnant un nom symbolique. Le fait de donner à une variable une valeur s’appelle l’assignation. Cette assignation de fait de la manière suivante :
= "Hello World !" # On assigne à la variable salutation la valeur "Hello World !"
salutation = 25 # On assigne à la variable age la valeur 25
age = 1/4 # on assigne à la variable quart la valeur 1/4
quart
print(salutation) # On va afficher la valeur qui est contenue dans la variable salutation
#print(age) # On affiche la valeur de la variable age
## Hello World !
Dans les exemples précédents, on faisait de l’assignation directe, on a affecté aux variables directement des valeurs. On peut faire de l’assignation multiple (plusieurs variables en même temps) ou de l’assignation parallèle (à partir de la valeur d’une autre variable)
# Assignation parallèle
= "Mounir" # On affecte une valeur à prenom
prenom = prenom # Puis on affecte à la variable surnom la valeur de prenom
surnom
print(surnom)
## Mounir
# Assignation multiple
= "Mounir", 75
prenom, age
print(prenom, "a", age, "ans.")
## Mounir a 75 ans.
Notez bien que pour commenter un code, il suffit de mettre #
avant
la ligne à commenter. Dans un script, tout ce qui suit le symbole
#
est ignoré par l’interpréteur jusqu’à la fin de la ligne et est
considéré comme un commentaire.
Quand faut-il commenter son code ?
Quand il y a des chances que vous oubliez comment vous avez approché le problème
Quand il y a plus d’une façon de résoudre un problème
Quand vous pensez que les autres personnes ne comprendront pas forcément votre approche au problème, pour expliquer votre démarche aux autres personnes qui liront votre code.
1.2.1 Types de variables
En fonction de la valeur que prend la variable, elle peut être de plusieurs types !
Voici une vue globale des types de variables sur python
Pour l’instant on ne va pas passer en revue tous les types de variables. On va juste nous intéresser aux plus basiques et simples qui sont les int, float, list, str et bool.
Le type
int
fait référence aux variables avec une valeur entière (integer)float
aux valeurs continueslist
aux listesbool
aux valeurs booléennes (True or False)str
aux chaines de caractères (string)
Pour connaître le type d’une variable, il suffit d’utiliser la fonction type()
print("Le type de la variable prenom est : ", type(prenom))
print("Le type de la variable age est : ", type(age))
print("Le type de la variable quart est : ", type(quart))
print("Une variable qui a comme valeur : ", [2, 4, "Hello"], "est de type : ", type([2, 4, "Hello"]))
## Le type de la variable prenom est : <class 'str'>
## Le type de la variable age est : <class 'int'>
## Le type de la variable quart est : <class 'float'>
## Une variable qui a comme valeur : [2, 4, 'Hello'] est de type : <class 'list'>
Note : Les variables en chaines de caractères sont toujours définies avec une valeur entre guillemets.
= '2' # On définit une variable avec des guillemets
nombre type(nombre) # On cherche son type
## <class 'str'>
Activité
1.2.2 Principes généraux pour nommer une variable
Nommer une variable peut sembler simple à première vue mais c’est une étape très importante lorsque l’on fait un script. En effet, on manipule plusieurs variables dans un programme d’où l’intérêt de bien les nommer pour les reconnaître.
Pour avoir un code lisible, clair et qui respecte les conventions (non officielles) de nommage des développeurs, voici quelques conseils et éléments à prendre en compte quand vous nommez vos variables.
Un nom de variable :
peut contenir des lettres, des chiffres et underscore
doit absolument commencer par une lettre
doit différencier les majuscules et minuscules : variable, Variable et VARIABLE sont donc 3 variables différentes
ne peut être les mots suivant car sont essentiellement des noms de fonctions qui existent déjà :
and del from None True as elif global nonlocal try assert else if not while break except import or with class False in pass yield continue finally is raise async def for lambda return await
1.2.3 Conversion des variables
TODO : NE PAS OUBLIER LES LISTES
On peut aussi et heureusement convertir les variables d’un type à un autre.
La conversion se fait en utilisant :
int()
pour convertir en entier (ne marche qui si on veut convertir une valeur qui peut être numérique, donc constituée de chiffres)str()
pour convertir en chaîne de caractèresfloat()
pour convertir en valeur décimale, elle a les mêmes contraintes que la fonctionìnt()
= 12.5
x = '213A'
y = 1
z
= int(x) # Conversion de x en entier
xx = str(z) # Conversion de z en caractères
zz print('La valeur de x est', xx, 'et son type est', type(xx))
print('La valeur de z est', zz, 'et son type est', type(zz))
## La valeur de x est 12 et son type est <class 'int'>
## La valeur de z est 1 et son type est <class 'str'>
On ne le voit pas mais z
a changé de tête
zz
## '1'
Et si on essaye maintenant de convertir y
en int
Comme on si entendait, cette conversion est impossible à faire.
En résumé : Toutes les variables numériques sont convertibles en caractères mais la réciproque n’est pas toujours vraie. Activité
1.3 Les opérateurs
1.3.1 Les opérateurs arithmétiques
Les opérateurs arithmétiques sont utilisés pour faire des opérations avec les variables.
Les différents opérateurs sont :
Les opérations mathématiques de base (addition
+
, soustraction-
, multiplication*
, division/
, puissance**
)Quotient entier
//
Reste de la division
%
Addition incrémentée
+=
et soustraction incrémentée-=
= "brainstormers", 225, "the", 5
w, x, y, z
print("La somme de", x, "et", z, "est", x+z)
print("Le quotient de", x, "et", z, "est", x/z)
print(z, "puissance", z, "=", z**z)
print("La somme de", y, "et", w, "est", y+w)
= z
zz +=10
zzprint("En incrementant", z, "de 10, on a :", zz)
## La somme de 225 et 5 est 230
## Le quotient de 225 et 5 est 45.0
## 5 puissance 5 = 3125
## La somme de the et brainstormers est thebrainstormers
## En incrementant 5 de 10, on a : 15
1.3.2 Les opérateurs logiques de comparaison de valeurs
Les opérateurs logiques servent à comparer des valeurs, ils retournent des booléens.
Les plus utilisés sont :
Égal
==
Strictement inférieur
<
, strictement supérieur>
Inférieur ou égal
<=
, supérieur ou égal>=
Différent
!=
Et
and
ou&
Ou
or
ou|
Négation
~
Remarque :
Il est courant de se tromper et de confondre
=
et==
, le premier est utilisé pour faire de l’assignation et le second pour faire de la comparaison.Une autre attention doit être apportée aux opérateurs
<=
et>=
à ne pas confondre avec respectivement=<
et=>
. Un mémo technique est de se rappeler qu’il y a toujours un inférieur<
ou un supérieur>
avant le signe égal=
.
= 15.75
note print('note >= 20 :', note >= 20)
print('note == 15.75 :', note == 15.75)
## note >= 20 : False
## note == 15.75 : True
Activité
1.4 If statements (les conditions)
Dans un script, on peut être dans des situations où on veut exécuter certaines parties du programme uniquement lorsque des conditions sont remplies.
Pour vérifier qu’une condition est remplie, on peut la tester dans
l’expression suivante avec le mot clé if
suivi de :
if condition :
instruction_1
instruction_2
...
instruction_n
Le bloc indenté sous l’instruction if
n’est exécuté que lorsque la
condition est remplie (True).
C’est quoi l’indentation
L’indentation en Python est un aspect important de la syntaxe de ce langage. L’indentation définit la structure du code et est utilisée pour délimiter les blocs de code. Pour délimiter un bloc de code, vous devez décaler toutes les instructions dans ce bloc par le même nombre d’espaces.
En général, l’indentation en Python est une caractéristique qui aide à rendre le code plus lisible et plus facile à comprendre. C’est également une caractéristique qui aide à éviter les erreurs de syntaxe et de logique dans le code.
= 45
temperature
if temperature > 30:
print("On est en été")
## On est en été
Toutefois, on peut vouloir aussi exécuter des instructions lorsque la
condition n’est pas remplie. Ceci se fait à l’aide du mot clé else
if condition:
instruction_1
instruction_2
...
instruction_n
else:
instruction_11
instruction_22
...
instruction_nn
= 25
temperature
if temperature > 30:
print("On est en été")
else:
print("On n'est pas en été")
## On n'est pas en été
On n’est pas limité à 2 évènements possibles, on peut faire plusieurs
conditions. On crée de nouvelles conditions avec le mot clé elif
if condition:
instruction_1
instruction_2
...
instruction_n
elif:
instruction_11
instruction_22
...
instruction_nn
else:
instruction_111
instruction_222
...
instruction_nnn
# Essayer la fonction input()
= -34
note
if not isinstance(note, (int, float)) or note < 0 : # On regarde si la note
# n'est pas un nombre entier ou décimal
# ou si elle est négative
print("La note entrée est invalide")
elif note >= 90 :
print("Vous avez obtenu une note A.")
elif 80 <= note < 90 :
print("Vous avez obtenu une note B.")
elif 70 <= note < 80 :
print("Vous avez obtenu une note C.")
elif 60 <= note < 70 :
print("Vous avez obtenu une note D.")
else :
print("Vous avez obtenu une note F.")
## La note entrée est invalide
Activité