Ustensiles numériques

Python

Python est un langage de programmation pouvant s'utiliser dans de nombreux contextes grâce à différents modules. Ces modules sont des librairies spécialisées permettant d'utiliser Python dans tout type d'utilisation, par exemple pour réaliser des opérations mathématiques, de la visualisation de données, générer des PDF, faire un site web, parcourir les dossiers de son ordinateur, lire des fichiers de données … On peut également écrire ses propres modules et les intégrer dans son code Python, ce qui constitue l'une des grandes forces du langage.

Python est un langage interprété, c'est-à-dire qu'il doit être lu par un interpréteur Python qui va le traduire en langage machine (un ordinateur ne peut pas exécuter un script Python directement).

Installation et utilisation de base

Installation

En général, Python est pré-installé sur les systèmes Linux et Mac OS. On peut vérifier de quelle version on dispose en tapant la commande suivante dans un terminal (voir la page Bash si ce qu'est un terminal n'est pas clair) :

python3 --version

Si Python n'est pas installé, on peut le faire avec la commande :

sudo apt-get install python3

Sous Windows, il faut télécharger un installateur Python à l'adresse suivante : https://www.python.org/downloads/windows/

Comment utiliser Python

Lorsqu'on a installé Python, on dispose d'un interpréteur capable de lire et de faire fonctionner du code Python. Il y a plusieurs façons de procéder. La première possibilité est d'utiliser Python directement dans un terminal. Si on lance la commande python3, la fenêtre de terminal devient alors un interpréteur Python dans lequel on peut écrire du code :

Utiliser Python de cette façon est pratique et rapide pour de petits tests mais devient très laborieux dès que le code devient plus long, car on ne peut pas revenir sur les lignes précédemment écrites :

Le meilleur usage reste d'écrire son code dans un fichier avec un extension .py (donc par exemple mon_code.py) et de l'exécuter avec un interpréteur. On peut réaliser cette opération en exécutant son script dans un terminal avec la commande :

python3 mon_code.py

Ou on peut utiliser un logiciel comme Thonny, qui est un environnement de programmation simple pour Python. C'est un logiciel dans lequel on peut à la fois écrire son code et l'interpréter :

Syntaxe de base

Python possède une syntaxe relativement simple proche de la langue anglaise, mais sensible à l'indentation et aux espaces. Il faut faire attentio à ce que son code soit bien indenté, sinon Python affichera une erreur.

print()

La première fonction intégrée à connaître est print(). Cette fonction permet d'afficher des informations dans la console, ce qui est très utile lorsqu'on doit faire du debug ou que l'on veut vérifier le bon fonctionnement de son script. La fonction print() s'utilise en écrivant entre ses parenthèses ce que l'on veut afficher dans la console. Par exemple print('Bonjour') affiche Bonjour. Attention à bien écrire les chaînes de caractère entre guillemets, sinon Python va l'interpréter comme une variable.

Variables

Écrire une variable en Python se fait simplement en déclarant le nom de la variable à gauche du signe = et la valeur qu'on lui assigne à droite :

ma_variable = Contenu de ma variable

Une variable peut contenir différents types d'informations. Du texte (une chaîne de caractères, écrite entre guillemets), un nombre (entier ou décimal), un booléen (une valeur égale soit à true soit à false), une liste (un tableau contenant plusieurs variables)… Une variable peut porter le nom que l'on veut, mais mieux vaut lui donner un nom en rapport avec sa fonction dans le code. Par exemple :

texte =  'Ceci est une variable contenant du texte'
chiffre = 5
liste_mots = ['liste', 'de', 'mots']

Attention cependant à ne pas nommer ses variables avec des mots-clés réservés, qui correspondent à des fonctions ou des valeurs de base de Python.

L'intérêt de stocker une information dans une variable est que l'on peut y faire appel plus tard dans son code, ou modifier sa valeur, selon les besoins. Par exemple on peut utiliser print() pour afficher le contenu d'une variable :

Déclaration conditionnelle

Comme dans tout langage de programmation, on peut utiliser les logiques conditionnelles en Python. Si la condition est rencontrée, le code qui y est rattaché est exécuté. Sinon, on lance un autre code.Prenons pour exemple le code suivant :

x = int(input('Entrez un chiffre : '))

if x < 10:
    print('Moins de 10')
else:
    print('Plus que 10')
    

La ligne x = int(input('Entrez un chiffre : ')) demande à l'utilisateur.ice d'entrer un chiffre dans la console, elle convertit ce chiffre en nombre (ce que l'on écrit dans une fonction input est par défaut une chaîne de caractère) et enregistre la réponse dans la variable x. Ensuite, c'est là qu'intervient l'opérateur conditionnel : si la valeur de x est inférieure à 10 (if x < 10:), alors on affiche le message Moins de 10. Les deux points à la fin d'un ligne où on déclare un if et l'indentation au début de la ligne suivante sont très importants. Si cette syntaxe n'est pas respectée, Python va renvoyer une erreur.

Si la condition décrite à la ligne du if n'est pas rencontrée (dans notre cas si on entre un chiffre supérieur à 10), alors c'est le code imbriqué dans le else qui est actif. On aura alors le message Plus que 10 :

Boucle for

Une boucle for permet de réaliser une itération, d'exécuter le même code un certain nombre de fois. C'est utile notamment pour parcourir une liste (qui contient plusieurs variables) ou une suite de nombres. La déclaration d'une boucle for se termine aussi pas : et toutes les lignes de code faisant partie de la boucle doivent être indentées (comme dans le cas d'un if…else). Voici par exemple comment parcourir une liste avec une boucle for :

Et un autre exemple pour afficher une suite de nombres :

La fonction range() permet d'utiliser une suite de nombres, par défaut en partant de 0. La ligne for i in range(20): va donc faire 20 fois la même chose : assigner à une variable i une valeur numérique, initialement de 0, et à chaque tour augmentée de 1.

Définir des fonctions

Une fonction est un morceua de code contenant une liste d'instructions pré-définies. C'est particulièrement utile quand on doit répéter certaines étapes dans son code car on peut à tout moment faire appel à une fonction dès lors qu'on l'a définie. La syntaxe d'une fonction en Python est la suivante :

def ma_fonction(paramètres):
    instructions de la fonction

Le mot-clé def introduit toujours une fonction. Ensuite on lui donne un nom, auquel sont collées des parenthèses. Dans ces paranthèses, on peut renseigner des paraèmetres ou non. Un paramètre est une information qu'on passe à la fonction afin qu'elle puisse la traiter dans son processus. Il n'est pas obligatoire d'en renseigner un, cela dépend de ce qu'on cherche à faire. Par exemple si on veut écrire une fonction ajoutant 20 à un chiffre de base :

def ajouter_20(i):
    print(i+20)
    

Pour utiliser la fonction, il faut l'appeler plus loin dans son script en écrivant une ligne comme celle-ci :

ajouter_20(46)

On voit que lorsqu'on appelle la fonction, le paramètre qu'on avait défini comme i peut être remplacé par le nombre de notre choix :

Utiliser des modules

Les modules sont des scripts, des morceaux de code pré-écrits auxquels on peut faire appel en Python selon les besoins de son projet. La syntaxe est toujours la même. On va écirre en début de script (tout en haut de son fichier) :

import mon_module

Le mot-clé import permet d'intégrer les fonctionnalités du module dans son propre code. On peut alors faire appel aux fonctions et aux variables du module.

Modules pré-intégrés

Généralités

Un certain nombre de modules viennent déjà intégrés lorsqu'on installe Python. Pour les utiliser, il suffit de les appeler par leurs noms dans son script. Par exemple, le module math permet de réaliser toutes sortes d'opérations mathématiques. Pour l'utiliser on fera :

import math
print('Pi est égal à : ', math.pi)

Et le résultat de ce code est :

Pi est égal à :  3.141592653589793

On notera que pour utiliser le fonction pi de math, on a écrit math.pi, car en important le module avec import math, on en importe toutes les fonctionnalités. Si on veut utiliser l'une de ses fonctions ensuite, il nous faut préciser que la fonction vient du module, d'où la notation math.pi. Si on sait qu'on ne va utiliser qu'une ou deux fonctions d'un module, on peut n'importer que celles-ci (ce qui est plus léger). On pourrait donc écrire notre code de la façon suivante aussi :

from math import pi
print(pi)

Le résultat est le même, mais dans ce cas on n'a pas besoin de préciser math.pi car c'est directement la fonction pi qu'on importe, et non tout le module math.

Intégrer du hasard

Le module random permet de faire appel à du hasard dans son code. Par exemple pour choisir un nombre au hasard dans un ordre donné, on peut utiliser randint. Prenons pour exemple le code suivant :

from random import randint

for i in range(10):
    print(randint(50,100))

On importe la fonction randint, puis on va tirer au hasard 10 nombres avec la boucle for i in range(10). À chaque tour de la boucle for, on affiche un nombre choisi au hasard entre 50 et 10 (print(randint(50,100))).

Écrire ses propres modules

Tout script Python peut devenir un module, car un module c'est finalement un ou plusieurs fichiers Python pré-écrits qu'on va venir convoquer dans son propre script.

Voici un exemple : va écrire une fonction permettant de comparer deux nombres et s'en servir comme module dans un autre script. La fonction de comparaison de deux nombres sera celle-ci :

def comparer_nombres(a, b):
    if a < b:
        print("a plus petit que b")
    elif a > b:
        print("b plus petit que a")
    else:
        print("a et b égaux")

Deux nombres sont passés en paramètres à la fonction, et en fonction de celui qui est plus petit que l'autre ou de l'égalité des deux nombres, on affiche dans la console un message différent. Pour faire de la fonction un module, il faut enregistrer le script dans son dossier de travail. On va ici nommer le fichier mon_module.py.

Quand on a enregistré le premier script, on peut s'en servir comme module dans un second script. Si dans un deuxième fichier Python on écrit :

from mon_module import comparer_nombres
comparer_nombres(56, 1459)

On a bel et bien importé la fonction comparer_nombres du module mon_module (c'est tout simplement le nom du script sans l'extension .py) et on peut s'en servir autant qu'on veut :

Petite liste non-exhaustive de modules

Pour le traitement d'images

Générer des PDF

Faire des sites web

Son

Ressources pour apprendre