Vidéo 35 : Paramètres, arguments¶
Fonction sans paramètre¶
Il est possible définir des fonctions n’admettant pas de paramètre, comme la fonction f ci-dessous (ligne 1) :
1 2 3 4 | def f():
return 42
print(f())
|
5 | 42
|
Pour appeler la fonction f, on écrit (ligne 4) juste f() autrement dit, on place juste une paire de parenthèses vides.
En pratique, les fonctions sans paramètre sont beaucoup moins fréquentes que leurs analogues avec paramètres. Mais les fonctions sans paramètre servent parfois à regrouper des instructions dans une fonction pour les appeler en une seule fois, ce qui permet d’avoir un code plus structuré.
Un cas typique serait une fonction utilisée pour tester d’autres fonctions :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | def f(a, b):
m = (a + b)/2
ok = (m >= 10)
return ok
def tests():
resultat = f(14, 8)
print(resultat)
resultat = f(0, 20)
print(resultat)
resultat = f(5, 6)
print(resultat)
tests()
|
16 17 18 | True
True
False
|
- La fonction
testsn’utilise aucune donnée et donc n’admet aucun paramètre. - La fonction
testsn’admettant aucun paramètre, elle n’admet non plus aucun argument quand elle est appelée.
L’intérêt est qu’il suffit de retirer l’appel à tests pour désactiver le code qui est dans la fonction tests, ce qui n’était pas faisable facilement si le code était placé hors d’une fonction.
Autre exemple¶
Soit à coder une fonction lancer_un_de simulant le jet d’un dé à 6 faces : la fonction renvoie un entier au hasard entre 1 et 6. Une telle fonction ne dépend de rien et donc sera définie sans paramètre, plus précisément :
1 2 3 4 5 6 7 | from random import randrange
def lancer_un_de():
return randrange(1,7)
jet=lancer_un_de()
print(jet)
|
8 | 5
|
- Lignes 3-4 : fonction sans paramètre.
- Ligne 6 : appel sans argument de la fonction.