FONCTIONS EN PYTHON
I DEFINITION
En Python, une fonction sert à isoler une instruction, ou un bloc d'instructions qui sera repéré par un nom
et pourra être appelé à différents endroits d'un programme pour être exécuté, le plus souvent avec des
arguments, ou paramètres, qui pourront varier selon les appels.
Une fonction peut renvoyer le résultat d'un calcul, qui pourra être utilisé dans le programme (affichage,
stockage dans une variable, utilisation dans une expression…), mais ce n'est pas toujours le cas.
En Python, une fonction peut aussi désigner un simple sous-programme.
Syntaxe de l'appel d'une fonction :
nomfonction(argument1, argument2,…etc)
II UTILISATION DE FONCTIONS PRÉDÉFINIES
Exemples :
-La fonction
int
appliquée à un flottant ou à une chaîne de caractères représentant l'écriture décimale
d'un entier, renvoie un certain entier
-La fonction
print
a pour effet d'afficher les valeurs transmises comme arguments dans la console
-Fonctions numériques accessibles directement : cf annexe1 :
abs
,
round
,
pow
…
prennent des arguments de type numérique et renvoient une valeur de type numérique
Fonctions du module math (cf. annexe1)
Elles ne sont pas accessibles directement mais doivent être importées depuis ce module.
Il y a deux manières principales de procéder :
• Si on ne veut utiliser que quelques fonctions, on n'importe que celles dont on a besoin :
from math import sqrt,cos
L'appel se fait alors simplement par le nom de la fonction suivi de ses arguments entre parenthèses:
Ex :
x=sqrt(2)
print(x+cos(3*x))
• Si on doit utiliser un grand nombre de fonctions du module, il vaut mieux importer le module :
import math
Mais dans ce cas, lors de chaque appel, il faut faire précéder le nom de la fonction du préfixe
math.
Ex :
x=math.sqrt(2)
print(x+math.cos(3*x))
Pour alléger l'écriture, on choisit en général un alias du module lors de l'importation :
import math as ma
x=ma.sqrt(2)
print(x+ma.cos(3*x))
Attention, dans ce cas on ne peut plus choisir le nom ma pour désigner une variable du programme !
Remarque : on peut en principe également importer toutes les fonctions du module par :
from math import*
L'appel d'une fonction ne nécessite alors aucun préfixe.
Cette méthode est cependant déconseillée, car lourde.
De plus, les différentes bibliothèques de Python contiennent des fonctions qui portent le même nom mais
ont des propriétés différentes. Lorsqu'on utilise une fonction, la présence d'un préfixe devant son nom
permet de savoir de laquelle il s'agit.
De plus, on peut créer ses propres fonctions, et on n'est jamais sûr de ne pas leur donner le nom d'une
autre fonction déjà importée d'un module ou d'une bibliothèque.