Annexe A — Python

Tous les exemples de code de ce cours sont donnés en Python. Quelques bibliothèques utiles sont importées implicitement pour faire fonctionner ces codes.

Pour les calculs sur les vecteurs et matrices, nous utilisons NumPy :

import numpy as np 

Pour les graphiques, nous utilisons Matplotlib :

import matplotlib.pyplot as plt 

A.1 Bases de Python

Les programmes python sont enregistrés dans des fichiers .py, exécutables avec python prog.py ou python3 prog.py.

À savoir :

  • Les variables n’ont pas besoin d’être déclarées mais elles ont néanmoins un type déterminé automatiquement (par exemple, int, float, ou str) visible avec type(variable).
  • Les commentaires sont repérés avec un # en début de ligne ou """ ... """ pour plusieurs lignes.
  • Les blocs d’instructions sont délimités par les tabulations (ou espaces en début de ligne).

Exemple :

"""
    Premier programme python simple
    qui commence par dire bonjour
"""
print("Bonjour !")

# Saisir une valeur
a = input("valuer de a ? ")
# a est une chaîne (str), il faut la convertir en entier :
a = int(a)
# et la reconvertir en chaîne avant de l'afficher :
print("2a = " + str(2*a))

A.1.1 Conditionnelles

Exemple :

if a == 2:
    ... code si a=2 avec une tabulation
else:
    ... code avec une tabulation
    
... suite du programme sans tabulation

Avec plusieurs conditions :

if a == 2:
    ... code si a=2
elif a == 3:
    ... code si a=3
else:
    ... code par défaut
    
... suite du programme

Le type booléen exste en python avec les valeurs Trueet False. Les booléens peuvent être combinés avec les opérateur and, or, not. L’opératuer de différence est !=.

A.1.2 Boucles

Les boucles FOR utilisent souvent la fonction range ainsi :

for i in range(10):
    ... code répété 10 fois
... suite du programme sans tabulation

Attention : la dernière valeur de range(b) ou range(a,b) est b-1 :

for i in range(1,11):
    ... code répété pour i de 1 à 10

La boucle WHILE équivalente s’écrit :

i=1
while i<=10:
    ... code répété pour i de 1 à 10
    i=i+1
... suite du programme sans tabulation

La boule FOR permet d’itérer directement à travers les éléments d’une liste :

liste = [1, 2, "quatre", 8.0]
for i in liste:
    print(i)
1
2
quatre
8.0

A.1.3 Fonctions

On définit une fonction avec def :

def mafonction(x1, x2):
    resultat = x1+2*x2
    return resultat

print( mafonction(4, 6) )
16

A.2 Graphiques

Pour tracer une courbe :

import numpy as np 
import matplotlib.pyplot as plt 

x = np.arange(0, 2*np.pi, 0.1)
plt.plot(x, np.sin(x) )
plt.show()

Fonctions utiles :

  • plt.figure() : crée une nouvelle figure
  • plt.plot(...) : tracer une courbe
  • plt.legend(['premiere courbe', 'deuxieme courbe']) : légende
  • plt.axis([ax, bx, ay, by]) : zoom/échelle du graphique sur les bornes [ax,bx] et [ay, by]
  • plt.show() : afficher toutes les figures et mettre le programme en attente jusqu’à la fermeture de des fenêtres

Pour la fonction plot :

  • plt.plot(X,Y) : trace la courbe passant par les points de coordonnées (X[i], Y[i])
  • plt.plot(X,Y,'.') : idem mais trace uniquement les points
  • plt.plot(X,Y,'r.') : idem mais avec des points rouges (couleurs possibles : b, r, g, m, y, c, k, w)
  • plt.plot(Y) : trace la courbe passant par les points de coordonnées (i, Y[i])