参数与实参?他们究竟是什么?
我刚开始学习Python编程,最近接触到了函数、参数和实参这些概念。
我查了很多资料,甚至看了StackOverflow上类似问题的回答,但还是搞不清楚它们的意思。
有些人说,参数是我们在定义函数时给它的变量,而实参是我们在调用函数时传入的值。还有一些人说,不是这样的,参数和实参是一样的,做的事情也一样……
有没有人能简单明了地告诉我参数和实参的意思?
参数和实参算不算变量?
我们用它们有什么目的?
请不要解释得太复杂,我还是个初学者。
非常感谢!
2 个回答
1
这样理解:
参数: 参数就是一个值,当你调用一个程序时,它希望你传递这个值。程序的声明部分会定义这些参数。
实参: 实参就是你在调用程序时,传给参数的具体值。调用代码在调用程序时提供这些实参。
举个例子:
int add (int value1, int value2) // Here value1 and value2 are PARAMETERS.
{
return value1+value2;
}
现在在调用这个函数的时候
answer = add(2,3); // Here values 2 and 3 are ARGUMENTS.
在Python中也是一样,声明的时候叫参数,调用的时候叫实参。
可能有些人对我说的有不同看法,但这就是编程界普遍的理解。
6
根据官方文档的说明:
参数是指在函数定义中出现的名称,而实参是指在调用函数时实际传递的值。参数定义了一个函数可以接受什么类型的实参。例如,给定以下函数定义:
def func(foo, bar=None, **kwargs): pass
foo、bar和kwargs是
func
的参数。但是,当调用func
时,例如:func(42, bar=314, extra=somevar)
传递的值
42
、314
和somevar
就是实参。
词汇表中对它们的定义是:
Python并不像其他一些语言那样有“变量”——它有“名称”来指代“对象”。可以参考“像Pythonista一样编写代码”和“关于Python名称和值的事实与神话”。