我有一个简短而简单的问题。我一直在Codeacademy网站上学习python,并且我遇到了一个练习题的部分。这是练习文本的一部分:
在现有代码下方,使用名为days的参数定义名为rental_car_cost的函数。
我的问题是,为什么练习要求days
一个论点?是不应该是参数?
因为参数是一个在调用函数时将它赋给函数的值。
请帮助我。谢谢
答案 0 :(得分:1)
向接受此问题的任何人澄清;
参数是函数声明中的变量:
functionName(parameter) {
// do something
}
Argument 是传递给函数的此变量的实际值:
functionName(argument);
关于你的问题; 是问题措辞不当;不幸的是,许多人可以互换地使用这些名称。
答案 1 :(得分:0)
不要过多考虑它。这是一个非正式使用的术语,并不完全正确,但仍然或多或少被接受。假设Codecademy在此上下文中表示参数。玩得开心!
答案 2 :(得分:0)
在某些情况下,您确实想要如何精确描述函数/方法。例如,如果您正在设计规范或重载函数/方法,这种区别将非常重要。这是因为大多数语言处理函数的方式。传递给函数的参数通常会发送给新的" stack"在执行函数时将它们分配给临时参数变量。在某些语言中,函数可能会超载"因此参数的类型(字符串,整数等)可以对函数的实际作用产生显着影响。因此,在某些情况下区分参数和参数是值得的。
然而,python并不关心类型,所以通常这些东西并不重要。实际上,当调用函数时,任何给定数量的参数将被分配给相同的参数,因此可以将它们视为同义词。事实上,python甚至可以让你直接为参数赋值keyword arguments,从而完全不需要经典参数传递,例如:function(foo=0, bar=1)
。而且,为了学习python的基础知识,这种区别实际上是不必要的。
答案 3 :(得分:0)
请参阅this previous answer,其中引用(旧版本)维基百科上parameters的文章来说明这一点:
维基百科文章还指出经常使用这两个术语 同义词(特别是在非正式地推理代码时):
虽然参数通常也被称为参数,...
根据我的经验,“参数”一词的使用频率高于“参数”,尤其是在Python中。有一些的细微差别,因为我们通常会说一个函数'采用'参数而不是'拥有'它们(以及'有'参数,而不是采用它们),但这比一些更迂腐大多数程序员都喜欢。