Aller au contenu principal

Fonctions

#Fonctions

Les fonctions factorisent la logique et améliorent la lisibilité.

pythonpython
1def area(w: float, h: float) -> float:2    """Retourne l'aire d'un rectangle."""3    return w * h4 5print(area(3, 4))

Arguments nommés et valeurs par défaut:

pythonpython
1def power(x, exp=2):2    return x ** exp3 4print(power(3), power(2, exp=3))

Variables locales vs globales: préférer le passage de paramètres aux effets globaux.

#Récursion

pythonpython
1def fact(n: int) -> int:2    return 1 if n <= 1 else n * fact(n-1)3 4print(fact(5))

#Visualiser la pile d'appels

main
Sommet
Pile initialisée avec 1 éléments
Étape 1 / 1 | Taille: 1

#Playground

#Exercices

  • Écrire pgcd(a,b) (algorithme d’Euclide).
  • Écrire fib(n) avec mémoïsation (dict).
  • Écrire une fonction qui normalise une liste de nombres entre 0 et 1.
  • Implémenter un décorateur pour mesurer le temps d'exécution d'une fonction.

#Solutions (exemples)

  • Implémenter un décorateur pour mesurer le temps d'exécution d'une fonction.