En algorithmique, une fonction :

  • possède un nom ;
  • reçoit un nombre variable de valeurs, qu’on appelle ses arguments ;
  • renvoie un résultat.


Pour utiliser une fonction, on écrit son nom, puis on écrit tous les arguments à lui transmettre entre des parenthèses :

[nom]([arguments])

Les fonctions s’utilisent de la même manière en langage naturel et avec Python.

Exemples de fonction en langage naturel :

Soit une fonction nommée carré, qui reçoit en argument un nombre réel et qui renvoie comme résultat le carré de ce nombre. Ainsi, après l’instruction résultat ← carré(3), la variable résultat aura pour valeur 9.

Soit une fonction nommée aléatoire10, qui ne reçoit aucun argument et qui renvoie comme résultat un nombre entier aléatoire entre 0 et 10. Ainsi, après l’instruction nombre ← aléatoire(), la variable nombre aura pour valeur un nombre entre 0 et 10.

Soit une fonction maximum, qui reçoit autant d’arguments de type numérique que l’on veut et qui renvoie comme résultat le plus grand des nombres qu’on lui a transmis. Ainsi, après l’instruction maxi ← maximum(1, 7, 4, -2, 5), la variable maxi aura pour valeur 7.

Fonctions natives de Python

En langage naturel, il n’existe pas une liste prédéfinie de fonctions.

En revanche, en Python, il existe une liste de fonctions, qui peuvent être utilisées : les fonctions natives. Voici les principales fonctions natives de Python, par catégorie.

Fonctions mathématiques

abs pour obtenir la valeur absolue. Ex. : abs(number)

max pour obtenir le plus grand nombre. Ex. : max(number1, number2)

min pour obtenir le plus petit nombre. Ex. : min(number1, number2)

round pour faire un arrondi. Ex. : round(number). On peut aussi l’utiliser avec deux arguments. Ex. : round(number, decimal). L’argument decimal indique le nombre de chiffres après la virgule que l’on souhaite conserver. Ex. : round(2.7896, 2) donnera 2.78

Fonctions de types

type qui donne le type d’une valeur/variable. Ex : type(variable)

str pour transformer une valeur/variable en chaîne de caractère. Ex. : str(variable)

int pour transformer une valeur/variable en nombre entier. Ex. : int(variable)

float pour transformer une valeur/variable en nombre décimal. Ex. : sloat(variable)

bool pour transformer une valeur/variable en booléen. Ex. : bool(variable)

Fonctions de chaîne de caractères

len pour connaître la longueur, en nombre de caractères, d’une chaîne de caractères. Ex. : len(string)

max pour obtenir la dernière chaîne par ordre alphabétique. Ex. : max(string1, string2)

min pour obtenir la première chaîne par ordre alphabétique. Ex. : min(string1, string2)

Écrire une fonction

Il est possible de créer soi-même une fonction.

En langage naturel

En langage naturel, la structure d’une fonction est la suivante :

Fonction [nom_fonction]
Arguments
[noms_arguments] : [type]
Variables
[noms_variables] : [type]
Début
[instructions]
Renvoie [résultat]
Fin

L’instruction Renvoie [résultat] permet de renvoyer le résultat de la fonction. [résultat] peut être une valeur, une variable ou une expression.

Avec Python

Avec Python, la structure d’une fonction est la suivante :

def [nom_fonction]([noms_arguments]) :
[instructions]
return [résultat]

L’instruction return [résultat] permet de renvoyer le résultat de la fonction. [résultat] peut être une valeur, une variable ou une expression.