Introduction à Python
Premiers pas : print, input, calculs, bibliothèques
Découvrir la programmation avec Python
Programmer, c’est donner des instructions très précises à un ordinateur pour qu’il exécute automatiquement des tâches : faire des calculs, répéter des opérations, traiter des données, simuler des expériences, afficher des résultats.
Un programme n’est rien d’autre qu’une suite d’instructions écrites dans un langage que l’ordinateur comprend. Python est l’un de ces langages. Il est très utilisé parce qu’il est lisible, puissant et particulièrement adapté aux sciences, aux mathématiques et à l’analyse de données.
Dans cette page, on part de zéro. L’objectif n’est pas d’aller vite, mais de comprendre ce que l’on fait : lire un petit programme, modifier quelques lignes, et observer immédiatement le résultat.
Variables et calculs : les bases de tout programme
Avant même de parler d’affichage ou d’interaction, il faut comprendre ce qu’est l’essentiel d’un programme : manipuler des informations et faire des calculs.
En Python, on stocke des informations dans des variables. Une variable est simplement un nom auquel on associe une valeur.
x = 3
y = 5
somme = x + y
Ici, Python :
- stocke
3dans la variablex, - stocke
5dans la variabley, - calcule
x + yet stocke le résultat danssomme.
Le symbole = ne signifie pas « égal » comme en mathématiques, mais
« prend la valeur ».
Python sait faire naturellement des opérations élémentaires :
2 + 3 # addition
7 - 4 # soustraction
5 * 6 # multiplication
8 / 2 # division
3 ** 2 # puissance
On peut bien sûr combiner calculs et variables :
a = 4
b = 7
moyenne = (a + b) / 2
Un programme est donc, au départ, une suite de lignes qui créent des variables et effectuent des calculs.
Afficher des informations à l’écran : print
Un programme ne sert pas seulement à faire des calculs « dans sa tête ». Très souvent, il a besoin de communiquer avec l’utilisateur : afficher un message, montrer un résultat, donner une information.
En Python, c’est la fonction print qui sert à cela.
À chaque fois que Python rencontre une instruction print, il
affiche quelque chose à l’écran.
On peut aussi afficher plusieurs choses à la fois, séparées par des virgules.
print("2 + 3 =", 2 + 3)
print("Le carré de 4 est", 4**2)
Dans une instruction print, on peut mélanger :
du texte, des variables et des calculs.
Ce qui est entre guillemets est du texte : Python l’affiche tel quel. Ce qui est sans guillemets est une expression Python : soit un calcul à effectuer (et dans ce cas Python affiche le résultat), soit une variable (et dans ce cas Python affiche le contenu de la variable).
Par exemple, si on a défini auparavant une variable u :
u = 5
print("u =", u)
Python affiche alors le texte u =, puis le contenu de la variable u (donc ici il affiche u = 5).
Dans la ligne print("2 + 3 =", 2 + 3) :
"2 + 3 ="est simplement un message affiché à l’écran,2 + 3est un calcul que Python effectue,- Python affiche
2 + 3 = 5à l'écran.
Autrement dit, les guillemets servent à indiquer un texte à afficher, alors que sans guillemets, Python comprend qu’il doit afficher la valeur d’une variable ou le résultat d’un calcul.
Demander une valeur à l’utilisateur : input
Pour fonctionner, un programme a souvent besoin d’informations fournies par l’utilisateur : une valeur, un paramètre, un nombre, un nom, etc.
En Python, la fonction input permet de poser une question à l’utilisateur
et de récupérer sa réponse.
Cette réponse est ensuite stockée dans une variable.
age = input("Quel âge as-tu ? ")
print("Tu as", age, "ans")
Ici, Python :
- affiche la question
Quel âge as-tu ?, - attend que l’utilisateur tape une réponse,
- stocke cette réponse dans la variable
age, - puis l’affiche grâce à
print.
Point très important : la fonction input renvoie toujours du texte.
Même si tu tapes un nombre, Python le considère comme une chaîne de caractères.
Or, pour faire des calculs, Python a besoin de vrais nombres. Il faut donc convertir ce texte en valeur numérique avant de le stocker dans la variable.
On utilise pour cela :
int(...)pour un entier,float(...)pour un réel.
age = int(input("Quel âge as-tu ? "))
print("Dans un an, tu auras", age + 1, "ans")
Cette fois, la variable age contient un nombre.
Python peut donc effectuer un calcul dessus.
On peut résumer ainsi :
inputsert à récupérer une information,intoufloatservent à transformer cette information en nombre,- la variable permet de mémoriser cette valeur pour la suite du programme.
Les bibliothèques : utiliser des outils déjà prêts
Programmer ne consiste pas à tout recréer soi-même. Une grande partie du travail repose sur l’utilisation de bibliothèques : des ensembles de fonctions déjà écrites, testées et optimisées.
Une bibliothèque permet par exemple de manipuler des matrices, de faire du calcul scientifique, de générer des nombres aléatoires ou de tracer des graphiques.
En Python, pour pouvoir utiliser une bibliothèque, il faut l’importer.
Importer une bibliothèque entière : import ... as ...
La forme la plus utilisée consiste à importer une bibliothèque sous un nom abrégé.
import numpy as np
Ici, np est un raccourci pour numpy.
On utilisera ensuite les fonctions de la bibliothèque en écrivant par exemple :
np.exp(2) # exponentielle de 2
np.sqrt(5) # racine carrée de 5
np.pi # valeur approchée de π
np.mean(A) # moyenne des valeurs d'un tableau
L’intérêt du as np est double :
- écrire plus court,
- éviter les confusions entre fonctions de différentes bibliothèques.
C’est la méthode standard en prépa pour les bibliothèques importantes.
Importer directement des fonctions : from ... import ...
On peut aussi importer directement certaines fonctions d’une bibliothèque :
from numpy import sqrt, exp
On peut alors écrire directement :
sqrt(2)
exp(1)
sans préciser le nom de la bibliothèque.
Cette méthode est pratique quand on n’utilise que quelques fonctions bien identifiées, mais elle peut rendre le code moins lisible si on importe beaucoup de fonctions issues de plusieurs bibliothèques.
Bibliothèques principales au programme
En prépa ECG, on utilisera notamment :
numpy: calcul numérique, vecteurs, matrices, statistiques.numpy.linalg: algèbre linéaire (inverses, systèmes, valeurs propres…).numpy.random: génération de variables aléatoires.scipy.special: fonctions mathématiques spéciales.matplotlib.pyplot: tracés de courbes et graphiques.
Chacune de ces bibliothèques fera l’objet de pages spécifiques. Ici, l’objectif est simplement de comprendre leur rôle et comment les importer correctement.
Exemple
a = float(input("a = "))
b = float(input("b = "))
print("a + b =", a + b)
print("a × b =", a * b)
print("moyenne =", (a + b) / 2)
Explication
Ce script demande deux nombres à l’utilisateur, puis affiche leur somme, leur produit et leur moyenne.
-
a = float(input("a = "))- Python affiche exactement le texte
a =et attend une saisie. - L’utilisateur tape une valeur (par exemple
3.5). inputrécupère cette saisie sous forme de texte, puisfloat(...)la convertit en nombre réel.- Ce nombre est stocké dans la variable
a.
- Python affiche exactement le texte
-
b = float(input("b = "))De même l'utilisateur est invité à saisir une valeur, qui est stockée dans la variable
b. -
print("a + b =", a + b)- Python affiche d’abord le texte
a + b =. - Puis il calcule
a + bet affiche le résultat juste après. - Par exemple, si
a = 3.5etb = 2, la ligne affichée est :a + b = 5.5.
- Python affiche d’abord le texte
-
print("a × b =", a * b)- Python affiche d’abord le texte
a × b =. - Puis il calcule
a * bet affiche le résultat. - Avec
a = 3.5etb = 2, la ligne affichée est :a × b = 7.0.
- Python affiche d’abord le texte
-
print("moyenne =", (a + b) / 2)- Python affiche d’abord le texte
moyenne =. - Puis il calcule
(a + b) / 2et affiche le résultat. - Avec
a = 3.5etb = 2, la ligne affichée est :moyenne = 2.75.
- Python affiche d’abord le texte
Un exercice pour vérifier ta maîtrise
x = float(input("x="))
n = int(input("n="))
print("nx =",n*x )
print("x^n = ",x**n)
Explication
-
Le programme commence par demander deux valeurs à l’utilisateur :
-
x = float(input("x=")): l’utilisateur saisit un nombre après l’invitex=. La fonctionfloatconvertit cette saisie en nombre réel (typefloat), ce qui permet d’entrer par exemple2.5. -
n = int(input("n=")): l’utilisateur saisit un entier après l’inviten=. La fonctionintconvertit cette saisie en entier (typeint).
-
-
Ensuite, le programme affiche deux résultats :
-
print("nx =", n*x)calcule le produitn*x, puis affiche une ligne de la formenx = ....
Autrement dit, il affiche exactement la valeur numérique de \(nx\). -
print("x^n = ", x**n)calcule la puissancex**n, c’est-à-dire \(x^n\), puis affiche une ligne de la formex^n = ....
Le symbole**en Python signifie “élever à la puissance”.
-
-
Ainsi, pour les valeurs saisies \(x\) et \(n\), le programme produit exactement deux lignes d’affichage : la première pour \(nx\), la seconde pour \(x^n\).