Fonctions
Python ↔ Baobab
10 correspondances
fonction remplace def, retourner remplace return. Paramètres par défaut, arguments nommés, *args/**kwargs et lambda fonctionnent comme en Python.
| Python | Baobab | Description |
|---|---|---|
| def f(a, b): … | fonction f(a, b): … | Définition avec paramètres positionnels. |
| return x | retourner x | Renvoie une valeur (nul si absent). |
| def f(x, n=2): … | fonction f(x, n=2): … | Paramètre avec valeur par défaut. |
| f(b=3, a=1) | f(b=3, a=1) | Appel avec arguments nommés. |
| def f(*args): … | fonction f(*valeurs): … | Nombre variable d'arguments positionnels. |
| def f(**kwargs): … | fonction f(**nommés): … | Nombre variable d'arguments nommés. |
| lambda x: x * 2 | lambda x: x * 2 | Fonction anonyme en une expression. |
| return a, b | retourner a, b | Renvoi multiple (tuple implicite). |
| g = f | g = f | Les fonctions sont des valeurs de première classe. |
| """docstring""" | """docstring""" | Documentation intégrée à la fonction. |
Exemple complet - Baobab ↔ Python
Baobab
123456789101112131415161718192021fonction puissance(base, exposant=2):
"""Renvoie base élevée à exposant (carré par défaut)."""
retourner base ** exposant
afficher(puissance(5)) # → 25
afficher(puissance(2, 10)) # → 1024
afficher(puissance(exposant=3, base=2)) # → 8
fonction moyenne(*notes):
retourner somme(notes) / longueur(notes)
afficher(moyenne(12, 15, 18)) # → 15.0
fonction min_max(valeurs):
retourner min(valeurs), max(valeurs)
bas, haut = min_max([4, 9, 1])
afficher(bas, haut) # → 1 9
doubler = lambda x: x * 2
afficher(doubler(21)) # → 42Python
123456789101112131415161718192021def puissance(base, exposant=2):
"""Return base raised to exposant (square by default)."""
return base ** exposant
print(puissance(5)) # → 25
print(puissance(2, 10)) # → 1024
print(puissance(exposant=3, base=2)) # → 8
def moyenne(*notes):
return sum(notes) / len(notes)
print(moyenne(12, 15, 18)) # → 15.0
def min_max(valeurs):
return min(valeurs), max(valeurs)
bas, haut = min_max([4, 9, 1])
print(bas, haut) # → 1 9
doubler = lambda x: x * 2
print(doubler(21)) # → 42