对运动的模糊解释

时间:2014-06-26 13:18:58

标签: python function parameters arguments

我有一个简短而简单的问题。我一直在Codeacademy网站上学习python,并且我遇到了一个练习题的部分。这是练习文本的一部分:

在现有代码下方,使用名为days的参数定义名为rental_car_cost的函数。

我的问题是,为什么练习要求days一个论点?是不应该是参数?

因为参数是一个在调用函数时将它赋给函数的值。

请帮助我。谢谢

4 个答案:

答案 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中。有一些的细微差别,因为我们通常会说一个函数'采用'参数而不是'拥有'它们(以及'有'参数,而不是采用它们),但这比一些更迂腐大多数程序员都喜欢。