Rappels sur le langage Python
Introduction sur le langage de programmation Python
Python est un langage de programmation dont la version publique a été rendue disponible en 1991. Depuis, ce langage de programmation a fait son chemin, actuellement nous en sommes à la version 3.7. La version 2 de Python (2.7) n’est plus maintenue depuis janvier 2020, il n’est donc plus conseillé de l’utiliser.
Python est un langage de programmation gratuit disponible sous Windows, Mac et Linux, notamment. Il s’agit d’un langage de haut niveau, permettant de faire abstraction du fonctionnement de l’ordinateur (allocation mémoire, pointeurs, etc.), ce qui le rend plus accessible qu’un langage bas niveau comme C par exemple.
C’est un langage dit interprété, c’est-à-dire qu’il n’y a pas besoin de compiler son script pour pouvoir l’utiliser. Le code du script est lu ligne par ligne et traduit à l’ordinateur par ce qu’on appelle un interpréteur.
Ce chapitre proposera quelques rappels sur le langage Python avant d’enchaîner sur les librairies essentielles en Data Science et leur utilisation.
Les variables
Il est inconcevable d’écrire un programme sans utiliser de variable. Une variable consiste à attribuer un nom à une information. On range cette information dans une variable que l’on nomme, ce qui permet ensuite d’accéder à cette information en appelant simplement la variable.
Syntaxe pour assigner une information à une variable
a = 11
Une fois le nombre 11 assigné à la variable a, on peut y accéder en tapant simplement a dans l’interpréteur Python, ce qui affichera le contenu de la variable, 11.
Si nous écrivons juste 11 dans la console Python, le résultat est affiché directement, mais ensuite nous n’avons aucun moyen de rappeler cette information. Ceci est dû au fait que la valeur 11 n’est stockée nulle part, on ne pourra pas la réutiliser, alors que si elle est stockée dans une variable, elle est accessible à n’importe quel moment.
Le nom d’une variable peut contenir des lettres, des chiffres ou encore des underscores _, mais il ne peut pas commencer par un chiffre. Attention, Python est sensible à la casse, c’est-à-dire qu’il fait une différence entre minuscules et majuscules.
Ainsi, si nous écrivons :
1a=11
On obtient une erreur, Python ne veut pas de chiffre devant un nom de variable. Mais :
a1=11
va fonctionner.
De plus si nous écrivons...
Les différents types de données (int, float, bool, str)
1. Les nombres réels et entiers
Le type de données ou le type d’une variable indique à l’interpréteur Python ce qu’il peut faire ou ne pas faire avec cette variable.
Par exemple, précédemment, nous manipulions des chiffres ou nombres entiers, c’est ce qu’on appelle le type int pour integer (entier, en français). La fonction type() permet d’afficher le type d’une valeur.
Code
type(11)
Résultat
int
Si nous mettons une virgule à la valeur, on obtient un nombre réel (un nombre à virgule) et le type sera float.
Code
type(11.1)
Résultat
float
Il existe donc deux types de nombres en Python ; les nombres réels (float) et les nombres entiers (int).
Il est possible de transformer un integer en float et vice versa, grâce aux fonctions int() et float().
Code
int(3.5)
Résultat
3
Code
float(3)
Résultat
3.0
Il est possible de faire des opérations arithmétiques sur les types int et float, nous le verrons dans une future section de ce chapitre.
2. Les booléens
Les booléens résultent d’opérations logiques et ont deux valeurs possibles : TRUE ou FALSE, soit VRAI ou FAUX. Plus simplement, ce type de données permet de savoir si une condition est vraie ou fausse. C’est assez intuitif, voici un exemple :...
Les structures de données basiques (listes, tuples et dictionnaires)
Nous avons vu précédemment comment ranger de l’information dans une variable. À présent, nous allons voir comment structurer les informations, c’est-à-dire la ranger dans des structures qui permettent de correctement les séparer, les stocker et les appeler au besoin, ensemble ou séparément.
1. Les listes
Les types que nous avons vus dans la section précédente, nombres ou caractères, ne sont pas suffisants pour traiter des données complexes. Il faut que nous puissions créer des objets pour stocker l’information.
Une première manière de stocker de l’information en Python est d’utiliser les listes. Une liste est un nouveau type de variable, qui permet de stocker plusieurs éléments, plusieurs valeurs, qui sont ordonnés, modifiables et peuvent être de type différent (int, float, str ou bool). Ainsi, on peut avoir une liste contenant uniquement des nombres entiers, uniquement des nombres réels, uniquement des chaînes de caractères, uniquement des booléens ou encore les quatre mélangés. De plus, une liste peut contenir elle-même des listes.
a. Créer une liste
Visuellement, on peut voir les listes comme des vecteurs, ou encore des tableaux à une dimension.
Pour créer une liste, nous allons utiliser des crochets, entre lesquels nous mettrons l’ensemble de nos valeurs, séparées par une virgule.
Syntaxe
ma_liste = [ma_premiere_valeur, ma_deuxieme_valeur,
ma_troisieme_valeur, ...]
Créons notre première liste avec le code suivant :
ma_liste = [1,2,3,4,5,6,7,8,"hello" ,10.5]
print(type(ma_liste))
print(ma_liste)
Résultat
<class 'list'>
[1, 2, 3, 4, 5, 6, 7, 8, 'hello', 10.5]
Comme la liste est une structure de données ordonnée, les valeurs sont rangées dans l’ordre où on les donne. Ici, nos valeurs sont stockées dans une liste (grâce aux crochets), elle-même assignée à la variable ma_liste (grâce au symbole d’assignation =). En affichant la liste avec la fonction print(), on voit bien qu’on a une suite de valeurs, séparées par des virgules...
Les opérateurs arithmétiques, relationnels et logiques
1. Les opérateurs arithmétiques
Python peut se comporter comme une calculatrice grâce aux opérateurs arithmétiques que l’on connaît bien : l’addition, la soustraction, la multiplication, la division.
Syntaxe de l’addition :
5 + 3
Syntaxe de la soustraction :
5 - 3
Syntaxe de la multiplication :
5 * 3
Syntaxe de la division :
5 / 3
Syntaxe pour récupérer le résultat entier d’une division :
5 // 3
Syntaxe pour connaître le reste d’une division :
5 % 3
Écrivons ensemble un code exemple pour visualiser les résultats de ces opérations. Nous allons ainsi en profiter pour introduire les commentaires en Python : il est possible d’écrire du texte dans le code Python qui ne sera pas interprété. Cela permet, lorsque vous revenez sur votre code, de vous rappeler plus rapidement ce que celui-ci fait. Commenter son code fait partie des bonnes pratiques en programmation. Pour commenter du texte, il faut utiliser le caractère #.
Code
# Une addition
print("Résultat de l'addition 5+3 :")
print(5+3)
# Une soustraction
print("Résultat de la soustraction 5-3 :")
print(5-3)
# Une division
print("Résultat...
Vocabulaire en Python : fonctions, méthodes, attributs, modules et librairies (packages)
1. Fonctions
Dans ce chapitre, nous avons vu quelques fonctions, comme print() ou type(). Une fonction est une portion de code à l’intérieur d’un fichier qui permet d’effectuer des tâches bien précises et ce de manière répétée.
Une fonction attend généralement quelque chose en entrée, cela peut être un nombre, une chaîne de caractères, ou une structure de données plus complexe comme une liste, un dictionnaire, etc. Une fois que cette fonction est appelée par Python, le code qu’elle contient est exécuté sur ce que Python lui donne en entrée et, en sortie, on a généralement un résultat différent de ce qui a été donné en entrée. Le nom de la fonction définit généralement ce qu’elle fait.
Python possède un nombre conséquent de fonctions "built-in", c’est-à-dire de fonctions intégrées au langage Python, qui sont présentes dès l’installation du langage. Par exemple, la fonction print(), qui veut dire afficher en français, est disponible automatiquement avec Python et permet d’afficher ce qu’on lui donne en entrée. Une fonction a donc un nom, puis elle est suivie de parenthèses, à l’intérieur desquelles on lui donne les arguments, les objets, que l’on veut qu’elle prenne en entrée pour pouvoir faire son traitement.
Syntaxe
ma_fonction(objet1, objet2, ...)
Par exemple, nous assignons une valeur à une variable a=12. Nous tapons print(a) sous Python et print() va nous afficher le contenu de notre variable, la valeur 12.
Une fonction peut prendre plusieurs arguments, plusieurs options. Il y a les arguments obligatoires, nécessaires à son bon fonctionnement, et les arguments optionnels, si on souhaite que la fonction se comporte différemment de son comportement par défaut.
Pour savoir ce qu’une fonction prend comme arguments, vous pouvez utiliser la fonction help(), une autre fonction "built-in" de Python. Il suffit de lui donner...
Instructions de condition if et boucles for
1. Instruction de condition if
Pour terminer avec le rappel sur le langage de programmation Python, parlons des instructions de condition if et surtout, de l’utilité des opérateurs relationnels et logiques vus précédemment.
Un des piliers de la programmation informatique, ce sont les instructions de condition if. Celles-ci vous permettent de faire des comparaisons et de réaliser différentes actions selon le résultat de votre comparaison, c’est-à-dire selon que le résultat est True ou False.
La syntaxe est la suivante :
if condition:
action1
else:
action2
Si la condition est vraie, c’est-à-dire True, le code de l’action1 s’exécute, si la condition est fausse, False, c’est le code de l’action2.
Essayons avec un exemple concret. Créons d’abord trois variables.
Code
ma_variable1=2
ma_variable2=6
ma_variable3="hello"
Nous allons maintenant faire des comparaisons entre ces variables et exécuter du code différent selon le résultat de ces comparaisons.
Dans la plupart des langages de programmation, il existe des symboles particuliers pour délimiter le if (si, en français) et le else (sinon, en français), par exemple l’accolade. En Python, il n’y a pas de délimiteur...