Vous êtes sur la page 1sur 4

III.A Présentation des bibliothèques III.

A Présentation des bibliothèques

a) Généralité a) Généralité
b) Calcul manipulant les tableaux et calcul matriciel
c) Gestion de la documentation en ligne des fonctionnalités de ces
bibliothèques
233 234
233 234

III.A a) Généralité III.A a) Généralité

 Python est un langage modulaire. Voici une liste des modules les plus utilisés en python sont :
 De nombreuses fonctions supplémentaires sont groupés dans des modules que l'on doit
importer pour y avoir accès. • time : contient des fonctions relatives au temps
 Un module biblio contient toutes les expressions et fonctions python qui se trouvent • random : pour générer aléatoirement des nombres
dans le fichier biblio.py
NB: si biblio est un module qui contient des sous modules alors biblio est un dossier • os : pour dialoguer avec le système d'exploitation
 Import d'un module biblio: • Tkinter : pour gréer des fenêtre graphiques et gérer la souris
 import biblio: accès à l'élément x de biblio avec biblio.x
 import biblio as t : accès a l'élément x de biblio avec t.x • math : pour accéder aux fonctions mathématiques usuelles
 from biblio import * : accès a l'élément x de biblio avec x • Matlibplot : pour multiples fonctions de traçage en deux dimensions
Conflit potentiel de noms entre plusieurs modules.
 Contenu du module biblio : dir(biblio) (après import biblio)
• numpy : bibliothèque de fonctions indispensables pour le calcule scientifique
 Recharger biblio après l'avoir modifie : reload(biblio) • scipy : bibliothèque complémentaire de numpy pour le traitement des données
 Nous utiliserons dans la suite :
 import numpy as np # (calcul numerique) • skimage : pour le traitement d'image
 import numpy.linalg as npl # (algèbre linéaire ) 235 • io : pour la gestion des fichiers
235 236 236
b) Calcul manipulant les tableaux et calcul matriciel
Tableaux à une dimension

 Un tableau c'est un ensemble de cases mémoires suivies qui permet


de mémoriser plusieurs données de même type.
 Il est reconnu par : son type, son label, ses données.
III.A Présentation des bibliothèques
entier 2 6 1 4 7 10 2

b) Calcul manipulant les tableaux et calcul matriciel mot 't' 'e' 'x' 't' 'e'

reel 13.4 10.6 0.35 10 7.234

237 238
237 238

b) Calcul manipulant les tableaux et calcul matriciel b) Calcul manipulant les tableaux et calcul matriciel
Tableaux à une dimension Tableaux à une dimension
 Création de tableaux standards :
il existe plusieurs manière pour déclarer un tableau sous python, j'en citerais
seulement quatre dans ce cours  Exemple :
 Création d'un tableau vide :  TA= np.zeros(10, dtype=int)
nomtableau = np.empty(NombreDesValeurs, dtype= TypeDeDonnées)  TB= np.ones(4, dtype=complex)
 TS=np.zeros(5, dtype=str)
 Création d'un tableau avec initialisation par des zéros :
nomtableau = np.zeros(NombreDesValeurs, dtype= TypeDeDonnées)  TC= np.array([1,4,7,9])
 Création de tableaux standards :
 Création d'un tableau avec initialisation par des uns :  np.arange(M,N,P) : tableau allant de M a N avec pas P (M et P optionnels, les
nomtableau = np.ones(NombreDesValeurs, dtype= TypeDeDonnées) valeurs par défaut sont M=0 et P=1)
 np.linspace(a,b,N) : tableau allant de a à b avec N éléments uniformément
 Création d'un tableau avec initialisation par des valeurs données : repartis
nomtableau = np.array([val1 , val2n , …. , valn])  b=a.copy() : copie d'un tableau a dans un tableau b
Rem : b=a ne copie pas les éléments, mais crée juste une référence, i.e. si a
239
239
est modifié b l'est aussi. 240
240
b) Calcul manipulant les tableaux et calcul matriciel b) Calcul manipulant les tableaux et calcul matriciel
Tableaux à une dimension Tableaux à une dimension
 l'indice de la première case est : 0  Opération globales sur un tableau a : maximum : max(a) , minimum : min(a), somme
 l'indice de la dernière case est : NombreDesValeurs-1 : np. sum(a), produit : np.prod(a), moyenne : np.mean(a)
 Pour accéder à la case d'indice i en utilise : nomtableau[i]  Operations booléennes sur un tableau a :

 NB : pour accéder au case à partir de la fin du tableau en utilise des indices négatifs pour  a>0.5 : tableau (dtype=bool) contenant True a la place des éléments ou la
accéder à la dernière case en utilise nomtableau[-1] condition est vraie, False a la place des autres.
 a[i:j] extrait les éléments du tableau a dont l'indice est supérieur à i et inférieur
 (a>0.5) & (a<0.7) : True la ou les deux conditions sont vérifiées,
strictement de j  (a>0.5) | (a<0.2) : True la ou une des deux conditions est vérifiée
 a[:i] extrait les i premiers éléments du tableau a
 (a>0.5).all() : True si tous les éléments vérifient la condition
 (a>0.5).any() : True si un éléments vérifiée la condition
 A[i:] extrait les derniers éléments dont l'indice est supérieur à i
 np.where(a>0.5,b,c) : a,b,c tableaux numpy de même dimension.
 Operations mathématiques : toutes les opérations arithmétiques et fonctions classiques Retourne un tableau de même dimension contenant les éléments correspondants
s'appliquent terme à terme pour un tableau a : a**2+2*a+1; de b là ou la condition sur a est vérifiée et ceux de c ailleurs.
241 242
241 242

b) Calcul manipulant les tableaux et calcul matriciel


Tableaux à une dimension
Exercice 3.1
 lafonction len permet de connaître la longueur (nombre de valeurs) d'un 1) Écrire une fonction sa(u0, r ) qui :
tableau numérique  possède deux paramètres entiers :
 Exemple :
>>> t=np.zeros(4); len(t) • le premier terme u0,
4 • la raison r,
 Parcourir un tableau :  crée un tableau de longueur 5 pour y stocker les 5 premiers termes de la suite
 for i in range( len(nomtableau) ) arithmétique : Un+1 = Un + r ; de premier terme u0 et de raison r
 for val in nomtableau  retourne ce tableau.
 Exemple : Affichage d'un tableau 2) Écrire une procédure Suiteag (n) qui renvoie un tableau t de longueur n tel que
T=np.array([1,5,8,10]) t[k] soit le k-ième élément de la suite (Uk) définie par :
for i in range( len(T) ) : U0 = 3 et pour 1 ≤ k, Uk = 2.Uk-1 + 1
print( T[i] )
TP
TP 243 244
243 244
Exercice 3.2 Exercice 3.3
1) Écrire une fonction maxi (t ), dont le tableau t est un paramètre, qui
retourne le maximum du tableau. 1) Écrire une fonction filtre_pos (t ) qui parcourt un tableau t de
De même pour une fonction mini (t ).
nombres et qui remplace les nombres négatifs du tableau par 0.
2) Écrire une fonction indice(t, m), qui recherche un nombre m dans le
tableau t et affiche les indices où m apparaît dans t, si m n’est pas Par exemple, [1, -2, -3, 4, 6, 7, -5] donnera [1, 0, 0, 4, 6, 7, 0].
dans t la fonction affiche un message d'erreur.
3) Écrire une fonction moyenne( t ), qui retourne la moyenne des 2) Écrire une fonction filtre_pair (t ) qui parcourt un tableau de
éléments du tableau. nombres et qui remplace les nombres impairs du tableau par 0.
4) Écrire une fonction moyplus(t , k), qui a pour paramètres le tableau
t et un nombre k, et qui retourne le pourcentage de notes du Par exemple, [1, -2, -3, 4, 6, 7, -5] donnera [0, -2, 0, 4, 6, 0, 0]
tableau supérieures ou égales à ce nombre.
245 246
245 246

Exercice 3.4 Exercice 3.5


1) Écrire une fonction add(t) qui modifie un tableau t en un tableau v de manière à ce  Écrire une fonction Supprimer(t , k), qui a pour paramètres le tableau
que pour tout 0 ≤ k ≤ n - 2, on ait : v[k] = t[k] + t[k + 1] et v[n - 1] = t[n - 1]. t et un nombre k, et qui retourne le tableau résultat après la
 Par exemple, si t=[3,4,0,1,8], alors la procédure add(t) modifie t en [7,4,1,9,8]. suppression du nombre k du tableau t.
2) Écrire une fonction add2(t) qui modifie un tableau t en un tableau v de manière à ce  Écrire une fonction FusionTrie(TA , TB), qui a pour paramètres deux
que pour tout 0 ≤ k ≤ n - 1, on ait : v[k] = ∑  . tableaux TA et TB triés par ordre croissant, et qui fusionne les
3) Écrire une fonction add3(t) qui modifie un tableau t en un tableau v de manière à ce éléments de TA et TB dans un tableau FUS de façon à ce que FUS soit
que pour tout 1 ≤ k ≤ n - 1, on ait : v[k] = t[k] + t[k - 1] et v[0] = t[0] aussi trié par ordre croissant, et retourne le résultat
247 248
247 248

Vous aimerez peut-être aussi