BCPST 1B Informatique 2016-2017 Les fonctions en Python. 1) Les

BCP ST 1BInformatique 2016-2017
Les fonctions en Python.
1) Les fonctions pr´ed´efinies
Le langage Python fournit un certain nombre de fonctions pr´ed´efinies dites primitives.
Exemples :
print() input() min(), max() sorted() len()
range() abs() ...
pour avoir la liste des fonctions pr´ed´efinies il suffit d’ex´ecuter l’instruction :
dir( builtins )
et pour avoir de l’aide sur une de ces fonctions :
help(abs)
erifier que vous savez :
utiliser des fonctions primitives.
faire un petit programme avec abs().
trouver de l’aide sur la fonction sorted()
2) Fonctions de biblioth`eque
Python propose des fonctions toutes faites. Elles ont ´et´e ´ecrites par les concepteurs ou par des utilisateurs
´eclair´es. Les diff´erentes fonctions sont organis´ees en modules th´ematiques.
Exemples de modules :
math qui contient toutes les fonctions habituellement utilis´ees en analyse ;
random qui calcule des nombres pseudo-al´eatoires ;
(utilis´e pour faire des simulations de mod`eles probabilistes)
matplotlib.pyplot qui contient des fonctions pour les repr´esentations graphiques ;
numpy qui contient toutes les fonctions permettant de manipuler les tableaux de nombre ;
imageio qui contient toutes les fonctions permettant de manipuler les images ;
On peut parcourir l’ensemble des fonctions d’un module avec la commande ”dir(module)
Pour importer un module on ´ecrit tout en haut du programme une des lignes suivantes :
import math import math as mt from math import cos,sin from math import *
Exemples :
import math import math as mt # mt est un "alias".
a=3*math.pi a=3*mt.pi
b=2*math.pi b=2*mt.pi
print(math.cos(a),math.sin(b)) print(mt.cos(a),mt.sin(b))
1
from math import cos,sin,pi from math import * # on importe tout sans alias.
a=3*pi a=3*pi
b=2*pi b=2*pi
print(cos(a),sin(b)) print(cos(a),sin(b))
Ces quatre syntaxes sont utiles. On s’adaptera en fonction du contexte.
Un exemple avec la fonction plot du module matplotlib.pyplot :
from math import cos,sin,pi
from matplotlib.pyplot import plot,axis
x=[cos(2*k*pi/5) for k in range(6)]
y=[sin(2*k*pi/5) for k in range(6)]
x1=[cos(t/20) for t in range(130)]
y1=[sin(t/20) for t in range(130)]
axis(’equal’)
plot(x,y)
plot(x1,y1)
erifier que vous savez :
importer un module et lire la liste de ses fonctions.
trouver de l’aide sur la fonction random() du module random
ex´ecuter un des programmes ci-dessus.
3) efinition de fonctions simples.
Les fonctions occupent une place centrale en programmation.
Une fonction est une s´erie d’instruction qui d´epend de param`etres (ou arguments), elle retourne un r´esultat.
La notion de fonction en programmation est `a rapprocher du cours de math´ematiques sur les applications.
La syntaxe Python est :
def nom de la fonctions(param`etres) :
bloc d instructions
Attention aux deux points et `a l’indentation en d´ebut de ligne. C’est la fin de l’indentation qui indique la
fin du bloc.
Exemples :
ÊCalcul du p´erim`etre d’un rectangle.
def perimetre(largeur,longueur):
"""float,float->float
hypothese : largeur>0 , longueur>0
retourne le p´erim`etre d’un rectangle defini par sa largeur et sa longueur"""
return 2*(largeur+longueur)
ou plus simplement
def perimetre(largeur,longueur):
return 2*(largeur+longueur)
2
ËCalcul d’une moyenne.
def moyenne(L):
"""list[float]->float
hypothese : la liste contient des flottants ou des entiers
retourne la moyenne des valeurs de L """
n=len(L)
S=0
for k in range(n):
S=S+L[k]
return S/n
ou plus simplement
def moyenne(L):
n=len(L)
S=0
for k in range(n):
S=S+L[k]
return S/n
A la fin on retourne la valeur attendue par l’instruction return S.
Attention : ne pas confondre return S et print(S).(Erreur courante)
Une fois la d´efinition de cette fonction ex´ecut´ee, elle est en m´emoire et on peut faire des ’appels’ `a cette
fonction :
>>> perimetre(5,6)
22
>>> moyenne([9,7,8.5,1.5])
6.5
erifier que vous savez :
´ecrire une des fonctions ci-dessus et faire des appels `a cette fonction.
d´efinir une fonction Python r´ealisant x7−x2+ 1 .
´ecrire une fonction faisant la moyenne g´eom´etrique de deux flottants.
4) Port´ee des variables :
En python on distingue deux sortes de variables, les locales et les globales.
ÂLes variables utilis´ees dans le programme principale sont qualifi´ees de globales.
ÀLes variables initialis´ees dans une fonction sont locales : elles n’existent que le temps de l’ex´ecution de
la fonction.
ÁLes arguments de la fonction sont des variables locales.
ÃDans une fonction on peut nommer une variable locale avec le nom d’une variable globale, dans ce cas
l`a, la locale l’emporte sur la globale.
ÄDans une fonction on peut acc´eder aux valeurs des variables globales.
ÅDans une fonction on peut modifier la valeur d’une variable globale en ins´erant la commande global en
d´ebut de fonction.
3
Un exemple faisant apparaˆıtre toutes ces r`egles :
def Fonction(a,b):
global x
y=2*t
x=x+b
a=a+1
return a + y + x
x=1
y=2
t=3
a=4
b=5
z = Fonction(x,y)
print(x,y,t,a,b,z)
ÊCommencer par distinguer les variables locales et les variables globales.
(Faire le lien avec les 6 r`egles pr´ec´edentes)
ËTrouver sans l’ordinateur les valeurs afficees par ce programme.
x y t a b z
ÌV´erifier en ex´ecutant le programme.
4
1 / 4 100%
Study collections
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !