在编程语言中,argument和parameter这两个词经常被使用,但是它们之间的区别并不总是非常清楚。本文将重点阐述argument和parameter的区别,帮助编程学习者正确理解和使用这两个专业术语。
parameter指的是在定义函数时函数签名中出现的变量,它代表了一个抽象的值,在函数被调用时会由实际的参数来填充。argument代表的是在调用函数时传入関数内部的实际参数,是实际使用的值。简单地说,parameter是形式参数,是“定义阶段的变量”,而argument是实际参数,是“运行阶段的值”。
这种区分方式在各种编程语言中都是通用的,比如Java, C++, Python等。在shell或命令行中,argument的含义基本相同,但parameter的含义比较模糊。为避免混淆,我们也可以用“形参”和“实参”这种更符合汉语习惯的说法。
正确理解argument和parameter的区别,有助于我们更准确地描述编程中参数的传递,定义函数接口时也可以避免引起歧义。
parameter是函数定义中描述参数的变量
在各种编程语言中,无论是Java,C++,Python等,当我们定义一个函数时,函数名称后面括号中的变量就是参数列表,也叫做形式参数(formal parameters)。这些参数变量,只是抽象的代表了调用该函数时将要传入的值,所以可以认为它们是“定义阶段的变量”。
举个例子,在Java中我们定义一个函数:
public int sum(int a, int b) {
return a + b;
}
这里面的a和b就是参数变量,appear在函数定义中,代表了这个函数需要两个整数类型的参数,但具体的值要在调用这个函数时进行传递,所以它们只是一个抽象的概念。
argument是调用函数时实际传递的值
而当我们调用这个函数的时候,需要传入实际的变量或值:
int result = sum(1, 2);
这个时候传入函数的1和2就是实际参数(actual arguments),简称为argument。
argument出现在函数调用的地方,是运行时实际传递给函数的变量或值。
在上面的例子中,1和2将实际传递给参数a和b使用,所以argument是“运行阶段的实际值”。参数变量a、b在运行时会绑定到argument 1、2.
两者一个在定义时抽象,一个在运行时具体
总结parameter和argument的区别:
- parameter出现在函数定义中,是抽象的变量,代表了一个值的概念;
- argument出现在函数调用中,是运行时实际传递的值。
二者关系是,parameter是在定义阶段,是一个抽象的描述;而argument是在运行调用阶段,要给这个抽象描述赋于具体的值。
理解这层区别,有助于我们明确函数参数的传递,避免产生误解。
各种编程语言中这种区分方式都是通用的
No matter it is function programming or OOP programming, no matter which programming language, parameter and argument have subtle differences.
In the function definition stage, the variables in bracket after function name are parameter, a abstract concept need actual values when invoking the function. The actual values passing to the function calling are arguments.
This terminology difference is common across programming languages, such as Java, C, C++, C#, Python, Ruby, PHP, Javascript and so on. Understanding this subtle difference is beneficial for accurately describing the parameter passing.
汉语中也可使用“形参”和“实参”来表示
在汉语语境中,也有类似的区分:
- 形式参数(formal parameter),简称形参,对应英语中的parameter
- 实际参数(actual parameter),简称实参,对应英语中的argument
这个说法和英语完全一一对应的。
在讨论参数传递的时候,使用“形参”和“实参”来表示,能够更符合汉语语言习惯。
理解区别有助描述参数传递,定义参数
综上,简单明确parameter和argument的区别,以及形参和实参的含义,有助于我们:
- 更准确地描述编程中的参数传递过程
- 在定义函数或方法参数的时候避免引起歧义
- 理解各种编程语言中参数传递机制的本质
所以,理解这个细微的区别是很有必要的。无论我们叫它们parameter和argument,或者形参和实参,重要的是要明确它们背后的含义。
简单总结,parameter和argument都是描述函数参数的参数,但有细微区别:parameter代表形式参数,出现在函数定义中,是一个抽象的概念;而argument代表实际参数,出现在函数调用中,是运行时实际传递的值。理解这层区别,可以帮助我们准确地描述参数的传递,避免引起歧义。
文章评论