Site original : Sam & Max: Python, Django, Git et du cul
On a tendance à utiliser l’un pour l’autre, et inversement. Moi-même je le fais régulièrement, y compris dans plein d’articles de ce blog. Mais il y a pourtant une différence sémantique, bien que dans la pratique on s’y retrouve.
Les paramètres sont les noms que l’on spécifie dans la signature de la fonction :
def ma_fonction(arg1, arg2='valeur', *args): # faire un truc
Ici arg1
, arg2
et args
sont des paramètres. Ce sont les noms des différents points d’entrée de données dans la fonction.
Les arguments sont les valeurs passées à l’appel de la fonction :
ma_fonction('foo', arg2='bar')
'foo'
et 'bar'
sont des arguments. C’est ce que l’on passe via les différents points d’entrée dans la fonction, au moment de son utilisation.
Maintenant, pour les tatillons, ce n’est valable que pour ceux qui aiment les anglicismes. Car en français, normalement, on a que le mot “paramètre”, et on utilise :
Certaines personnes, qui aiment bien embrouiller les choses, parlent d’”argument muet” pour traduire “parameter”. Mais on va pas trop se plaindre, car les anglais ont encore plus de synonymes la con pour parler des paramètres et arguments.
Bref, en résumé : on définit des paramètres, et on passe des arguments. Je continuerai probablement à mélanger les deux moi-même, alors détendez-vous du slip.