Mémo : Créer des fonctions
Structure d'un programme avec des fonctions
# ====================
# Commentaire sur le programme :
# description
# auteur
# licence
# ====================
# Importation des modules externes
# ====================
# Définitions des fonctions personnelles
# ====================
# Programme principal
Exemples de fonctions
Fonction simple
# Définition de la fonction
def foo():
# Code de la fonction
# Programme principal
foo()
Fonction avec paramètres
# Définition de la fonction
def foo(param1, param2...):
# Code de la fonction.
# Ce code utilise les paramètres param1, param2...
# Programme principal
foo(arg1, arg2...)
Lors de l'appel (ligne 7), les différentes valeurs passées en arguments sont affectées aux paramètres (ligne 2).
Fonction qui renvoie une donnée
L'utilisation du mot return permet d'indiquer la donnée que la fonction doit renvoyer.
# Définition de la fonction
def foo(param1, param2...):
# Code de la fonction (avec utilisation des paramètres)
return donnee_retrounee
# Programme principal
val = foo(arg1, arg2...)
Les étapes de l'exécution d'une fonction
Les étapes de l'exécution d'une fonction sont :
- ① Appel de la fonction dans le programme principal (ou dans une autre fonction) : les arguments sont respectivement affectés aux paramètres.
- ② Exécution du code de la fonction.
- ③ Renvoi de la donnée au programme principal.
Documentation d'une fonction
Docstring d'une fonction
La docstring se place en tout début de fonction dans une chaine de caractères multi-lignes.
La docstring doit contenir les informations suivantes :
- - une description de la fonction
- - la liste des paramètres avec leurs types et les préconditions sur ces paramètres,
- - la liste des valeurs renvoyées par la fonction, leurs types et les postconditions sur ces valeurs,
- - les effets de bord s'il y en a.
def nom(param1, param2):
"""
Brève description.
Args:
param1 (type): description
param2 (type): description
Returns:
type: description du retour
"""
# Code de la fonction
Annotations de type
Dans sa version minimaliste, la documentation de la fonction précise, dans la première ligne de la définition, les types des paramètres et le type de la valeur renvoyée.
def surface(param1:type, param2:type) -> type:
# Code de la fonction
return ...