Fiche méthode - Python
Python dans les programmes de physique-chimie
L'enseignement de physique-chimie a recours au langage de programmation essentiellement pour représenter des données de mesurage et pour les analyser.
L'utilisation des microcontrôleurs, commandés par un programme en Python, permet également de relever des mesures.
Gestion des fichiers
Méthode : Charger un fichier de données
Cette opération est courante en physique-chimie. Les données sont stockées dans un fichier texte (ou csv) habituellement exploitées par un tableur. Ici, le langage de programmation et la librairie numpy nous aide à charger chacune des grandeurs physiques du fichier (nom et valeurs) dans des variables listes.
Syntaxe :
import numpy as np
np.loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes')
Exemple : Un fichier texte avec deux colonnes
Considérons un fichier texte contenant une ligne d'entête, 50 mesures de deux grandeurs physiques (i et u) séparées par une virgule.
I (en A), u (en V)
0.0024486803519061587,2.4682306940371457
0.0024486803519061587,2.463343108504399
...,...
On veut charger les données dans deux variables de type liste préalablement déclarées comme telle.
import numpy as np
i=[]
u=[]
i, u = np.loadtxt('mesures/fichier_R1000_n50.txt', delimiter=',', skiprows=1, unpack='true')
On charge le fichier ‘fichier_R1000_n50.txt' du sous-dossier ‘mesures/' avec les options suivantes :
Sur une même ligne, les données sont séparées par la virgule : delimiter=','
On ne charge pas la ligne d'entête : skiprows=1
On transpose les colonnes en lignes : unpack='true'
Ainsi les premiers éléments de la liste i seront :
i = [0.0024486803519061587, 0.0024486803519061587, ...]
Remarque : Pour extraire des colonnes spécifiques
On peut aussi charger l'ensemble comme une matrice, puis extraire telle ou telle colonne, avec la syntaxe suivante :
data = np.loadtxt(fname)
i = data[:,0] #l'indice des colonnes commence à zéro
Ou utiliser le paramètre usecols
:
i = np.loadtxt(fname, usecols=0)
Écrire dans un fichier
Méthode : Open, write, close !
La méthode consiste à ouvrir un fichier existant ou en le créant, écrire dedans ligne par ligne, puis penser à le fermer.
os.makedirs("mesures",exist_ok=True) #On vérifie si le dossier existe, sinon, on le crée
fichier = "mesures/" + fname + ".txt"
mes_mesures = open(fichier, "w") #création ou écrasement d'un fichier ouvert en écriture
mes_mesures.write("i (A),u (V)\n") #entête du fichier de mesure
# Une boucle pour écrire ce que l'on veut
while j < n:
mes_mesures.write(str(i[j])+","+str(u[j])+"\n") #Conversion en chaine, séparateur et retour à la ligne
j += 1
mes_mesures.close()
Représentation graphique
matplotlib
La bibliothèque matplotlib gère la création de toute sorte de graphiques. On importe le module pyplot.
import matplotlib.pyplot as plt
Méthode : L'essentiel
Ce qu'on veut ajouter | La commande correspondante après plt |
---|---|
un nuage de points |
|
un titre |
|
un titre à l'axe des abscisses, des ordonnées |
|
les valeurs min et max pour les deux axes |
|
une droite d'ajustement |
|
une légende (t est l'abscisse d'un point du modèle où on veut pointer la légende) |
|
des barres d'erreur (yErrorValues doit contenir la hauteur des barres) |
|