Fonctions#
essentiel
Définition#
Arguments par défaut#
def saluer(nom, message="bonjour"):
return f"{message}, {nom}"
saluer("Ana") # "bonjour, Ana"
saluer("Ana", message="salut") # "salut, Ana"
Arguments positionnels vs nommés#
def f(a, b, c):
...
f(1, 2, 3) # positionnels
f(a=1, c=3, b=2) # nommés, ordre libre
f(1, c=3, b=2) # mélange autorisé
Pour aller plus loin : Positional-only / keyword-only (/ et *)
Dans les bibliothèques et API strictes, Python permet de verrouiller le mode de passage des arguments :
args et *kwargs#
Détail complet : args / *kwargs.
Fonctions lambda#
Une lambda est une expression à une seule instruction (pas de return, pas d'annotations). Préférer def dès que la logique dépasse une ligne.
Valeur de retour multiple#
def min_max(valeurs):
return min(valeurs), max(valeurs) # renvoie un tuple
lo, hi = min_max([3, 1, 4, 1, 5])