1050 votes

Quelle est la différence entre un argument et un paramètre ?

Lorsque je parle verbalement de méthodes, je ne sais jamais s'il faut utiliser le mot argument o paramètre ou autre chose. Dans tous les cas, les autres personnes savent ce que je veux dire, mais qu'est-ce qui est correct, et quelle est l'histoire de ces termes ?

Je suis un programmeur C#, mais je me demande aussi si les gens n'utilisent pas des termes différents dans des langues différentes.

Pour mémoire, je suis un autodidacte sans formation en informatique. (S'il vous plaît, ne me dites pas de lire Code complet parce que je demande cela pour le bénéfice d'autres personnes qui n'ont pas déjà une copie de Steve McConnell (le merveilleux livre de l'auteur).

Résumé

Le consensus général semble être que l'on peut utiliser ces termes de manière interchangeable dans un environnement d'équipe. Sauf peut-être lorsqu'il s'agit de définir la terminologie précise ; dans ce cas, vous pouvez aussi utiliser " officiel argument/paramètre" et " réel argument/paramètre" pour désambiguïser.

20 votes

Je les utilise indifféremment personne ne s'est encore moqué de moi "cette fonction a 4 arguments cette fonction prend 4 paramètres ", c'est la même chose.

92 votes

Il n'y a pas de problème à les utiliser de manière interchangeable, sauf lorsque vous essayez de décrire le fonctionnement des paramètres et la manière dont les arguments sont transmis, etc. À ce moment-là, la terminologie précise (qui peut parfois être difficile à exprimer) est utile.

6 votes

Il existe au moins deux versions non fermées et agnostiques à la langue de cette question : stackoverflow.com/questions/3176310/ y stackoverflow.com/questions/427653/arguments-or-paramètres . Il existe également une autre version C# de cette question ; j'ai demandé une fusion.

1342voto

Torbjörn Hansson Points 3816

Un paramètre est une variable dans la définition d'une méthode. Lorsqu'une méthode est appelée, les arguments sont les données que vous passez dans les paramètres de la méthode.

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);

303 votes

Un moyen mnémotechnique d'allitération qui peut aider : Les arguments sont réels ;)

15 votes

La réponse mentionne que "le paramètre est une variable dans la définition d'une méthode", mais il serait peut-être préférable de dire "déclaration de méthode" [si quelqu'un fait une distinction entre "déclaration" et "définition"].

184 votes

"Vous définissez des paramètres, et vous présentez des arguments."

478voto

Rinat Abdullin Points 13520

Paramètre est une variable dans la déclaration de la fonction.

Arguments est la valeur réelle de cette variable qui est passée à la fonction.

12 votes

Ces langages font généralement référence à la liste d'arguments/paramètres passée à une méthode en tant que *args o ARGV et non *params :-)

9 votes

*params serait le nom d'une variable destinée à contenir les noms des paramètres (peut-être utilisée pour l'introspection).

18 votes

@karatedog Et cela va tout à fait dans le sens de cette distinction, en fait. Les paramètres sont nommés au moment de la déclaration, les arguments ne sont connus qu'au moment de l'appel. La syntaxe *args déclare un paramètre args dont la valeur est une liste (dont le nom et le type sont connus au moment de la déclaration) des éléments suivants arguments (dont le numéro n'est connu qu'au moment de l'appel).

91voto

Atif Aziz Points 16967

Il existe déjà une entrée Wikipedia sur le sujet (voir Paramètre ) qui définit et distingue les termes paramètre y argument . En résumé, un paramètre fait partie de la signature de la fonction/procédure/méthode et un argument est la valeur réelle fournie au moment de l'exécution et/ou de l'appel pour le paramètre.

L'article de Wikipedia précise également que les deux termes sont souvent utilisés comme synonymes (notamment lors de raisonnements informels sur le code) :

Bien que les paramètres soient aussi communément aussi appelés arguments, les arguments sont plutôt considérés comme les valeurs ou références réelles attribuées aux variables de paramètre lorsque le est appelé au moment de l'exécution.

Étant donné l'exemple suivant de fonction en C qui additionne deux entiers, x y y sont appelés ses paramètres :

int add(int x, int y) {
    return x + y;
}

Sur un site d'appel utilisant add comme dans l'exemple ci-dessous, 123 y 456 serait désigné comme le arguments de l'appel.

int result = add(123, 456);

De même, certaines spécifications de langage (ou documentation formelle) choisissent d'utiliser paramètre o argument exclusivement et utiliser des adjectifs comme officiel y réel à la place pour désambiguïser entre les deux cas. Par exemple, la documentation C/C++ fait souvent référence à la fonction paramètres como arguments formels et l'appel de fonction arguments como arguments réels . Pour un exemple, voir " Arguments formels et réels " dans le Référence du langage Visual C++ .

0 votes

+1 pour avoir expliqué comment ils sont couramment utilisés ainsi que leurs définitions formelles, et aussi pour avoir mentionné l'utilisation courante des arguments/paramètres "formels" et "réels" pour les distinguer sans ambiguïté.

0 votes

C'est une excellente explication, mais elle est presque impossible à comprendre par rapport à la simplicité du concept. Un paramètre est ce qui est accepté, un argument est ce qui est appelé. C'est une rue à sens unique.

0 votes

@ihodonald Cela ne semble pas correct à mes oreilles. Un paramètre est ce qui fait l'acceptation, et un argument est ce qui est fourni lors d'un appel. Mais un paramètre accepte un argument, donc c'est un argument qui est accepté, pas un paramètre. Et si quoi que ce soit, un argument est donné dans un appel à un paramètre (ou au moins, une fonction avec un paramètre), donc c'est plus le paramètre qui est appelé que l'argument.

36voto

Carra Points 6832

Un paramètre est quelque chose que vous devez remplir lorsque vous appelez une fonction. Ce que vous y mettez est l'argument.

Tout simplement : l'argument va dans le paramètre, un argument est la valeur du paramètre.

Un peu plus d'infos sur : http://en.wikipedia.org/wiki/Parameter_(computer_science)#Paramètres_et_arguments

23voto

ZenLulz Points 1126

L'utilisation des termes paramètres et arguments a été quelque peu abusée quelque peu abusivement parmi les programmeurs et même les auteurs. Lorsqu'il s'agit de méthodes, le terme paramètre est utilisé pour identifier les espaces réservés dans la signature de la méthode, tandis que le terme arguments sont les valeurs réelles valeurs que vous passez à la méthode.

Boîte à outils de certification MCSD (examen 70-483) Programmation en C# 1ère édition, Wrox, 2013

Scénario de cas réel

// Define a method with two parameters
int Sum(int num1, int num2)
{
   return num1 + num2;
}

// Call the method using two arguments
var ret = Sum(2, 3);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X