Python: Fonctions

From Wiki Cours
Jump to navigation Jump to search


définir une fonction

  1. définition d'une fonction: deux options suivant la complexité
def f(x):
    return x**2

f = lambda x: x**2

appliquer une fonction à une liste

# une suppose une fonction f() définie, par exemple
f = lambda x: x**2
# initialisation d'une liste
A = range(10)
# une première version lourde mais qui ressemble au C
B = [ 0.0 ]*len(A)
for i in range(len(A)):
    B[i] = f(A[i])
# une version similaire mais écrite en ligne
B = [ f(A[i]) for i in range(len(A)) ]
# le même résultat en itérant directement sur les éléments de a
B = [ f(a) for a in A ]
# en utilisant la fonction map du standard Python (générique)
B = map(f,A)
# enfin le tout en une ligne, possible uniquement avec une définition
# faite par le mot-clé lambda
B = map(lambda x: x**2,A)

passage d'arguments d'une fonction