Afin d’utiliser les bibliothèques mathématiques de python
, il est nécessaire de les importer (de manière équivalente à la primitive include
en langage C). La manière recommandée d’importer une bibliothèque comme numpy
est la suivante :
import numpy as np;
Ici, np
est un alias pour le nom de la bibliothèque numpy
. Après l’avoir importée, il devient possible d’accéder aux fonctions définies à l’intérieur de cette bibliothèque en les préfixant par le nom de la bibliothèque ou de son alias :
np.sqrt(5);
>> 2.2360679774997898
Pour définir une fonction en python
, il faut utiliser le mot-clé def
de la manière suivante :
def func(x,y):
""" Example of function adding x and y"""
return(x+y)
Quelques remarques :
python
, il n’y a pas de délimiteurs comme en langage C
. Le corps de la fonction est donc délimité par le mot-clé def
au début et la dernière ligne de code à la fin.\t
en C) sont obligatoires pour que le code soit accepté par l’interpréteur.help(func)
.Les instructions conditionnelles et les boucles ont une syntaxe ressemblant fortement à l’écriture de fonctions. Ici aussi, l’indentation est importante :
if cond:
instr
if cond_1:
instr_1
elif cond_2:
instr_2
else:
instr_n
for x in array:
instr
while cond:
instr
Remarque : les boucles utilisent des tableaux (arrays), que l’on peut créer avec les commandes range
(pour les entiers), array
ou arange
(cf aide-mémoire).
En python
, il existe différentes structures de données permettant de représenter des ensembles de nombres flottants :
(1,2,3,4)
()
encadrant une liste de nombres séparés par des virgules. Parmi les opérations possibles :tup = (1,2)
tup[1] # -> 2 Access to elements
1 in tup # -> True, Membership test
tup + tup # -> (1,2,1,2) Concatenation
for i in (1,2): print i # -> 1 2 Loops over tuples
[1,2,3,4]
[]
encadrant une liste de nombres séparés par des virgules. Les opérations possibles sur les tableaux sont les mêmes que sur les tuples, en ajoutant :arr = [1,2,3,4,5,6,7,8,9,10,11,12]
arr[0] = 7 # -> [7,2,3 ... Modification of an element
arr.append(42) # -> ..., 12,42] Addition of an element
arr[0:6] # -> [1,2,3,4,5,6] Sub-array
arr[0:6:2] # -> [1,3,5] Slicing
for i in arr: print i # -> 1 2 3 ... Loops over arrays
numpy.array([1,2,3,4])
python
, mais se comportent différemment pour les opérations arithmétiques. Cela les rend pratiques pour la manipulation de vecteurs :nar = numpy.array([1,2,3,4])
arr + arr # -> [2,4,6,8] Addition of arrays
arr * arr # -> [1,4,9,16] Multiplication of arrays
numpy.matrix([[1, 2], [3, 4]])
nmat = numpy.matrix( [[1, 1], [0, 1]] )
nmat * nmat # -> [[1, 2], [0, 1]] Matrix multiplication
Pour afficher des graphiques à l’aide de python
, la bibliothèque matplotlib
offre un panel de fonctions assez large. Par exemple, pour dessiner la courbe d’une fonction comme la fonction :
import matplotlib.pyplot as mp
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = np.cos(2*np.pi*t)
mp.plot(t, s, linewidth=1.0)
Cette série d’appels de fonctions ne fait que calculer le graphique. Il reste encore à le sauvegarder dans un fichier :
mp.savefig("figure")
Pour obtenir un graphique plus parlant, il ne faut pas oublier de légender les axes et de lui donner un titre :
mp.xlabel('Abscissa')
mp.ylabel('Ordinate')
mp.legend('Da wave')
mp.title('Surfing on the wave')
A noter que le titre peit-être donné directement via matplotlib (généralement pour inclusion dans une présentation), ou via \caption
de qui sera préféré dans un document.
Pour des exemples plus complexes, la galerie de matplotlib contient de nombreux graphiques fournis avec leur code.