【问题标题】:Python function taking argument vs inputPython函数接受参数与输入
【发布时间】:2015-08-02 09:29:02
【问题描述】:

Python 命名法是否存在差异,其中接受输入的函数与接受参数的函数不同?

输入(即您将拥有一个函数“处理”的数据)与将参数传递给函数时不一样吗?

我问的原因是 Codeacademy 有一个教程问学生:

编写一个名为 digit_sum 的函数,它接受一个正整数 n 作为 输入并返回该数字所有数字的总和。

例如:digit_sum(1234) 应该返回 10,即 1 + 2 + 3 + 4。

(假设给你的数字总是正数。)

从这个意义上说,输入与参数不一样吗?

Codeacademy 因其编写糟糕的教程而臭名昭著,所以请检查一下。

【问题讨论】:

  • 它们真的可以互换。
  • @MartinKonecny 好的,谢谢
  • 现在我认为这是一个很好的问题,因为它带来了不止一个简单的答案,从引用的教程文本中可以看出这一点。

标签: python function input arguments terminology


【解决方案1】:

函数的输入不仅仅是参数。函数参数只是函数可以采用的一种输入形式。一些函数接受其他类型的输入。所以 inputargument 更通用。

函数可以从文件或网络套接字或全局变量或模块变量中获取输入。

类的类或实例方法也可以从同一个类的类或实例变量中获取输入。

但是,在这种特殊情况下,问题似乎是在互换使用这两者。

【讨论】:

    【解决方案2】:

    我认为术语 input 过于含糊,无法等同于 argument。对象方法可以使用对象成员作为 input,但这些成员不会作为参数传入。此外,参数可以是输出(例如,由方法填充的数组)。

    【讨论】:

    • 您是否认为 Codeacademy 的问题/说明可以写得更好,不那么含糊?
    • 我会说“以正整数作为参数”会更具体和更清晰,假设他们之前已经定义了参数是什么。但是,如果假设它们总是直接将值作为参数传递给您,那么几乎没有歧义。如果他们在某个时候提出涉及控制台或文件输入的问题,最好尽早准确。
    【解决方案3】:

    我猜你把表达弄糊涂了。

    函数的输入是您作为参数传递的值。

    【讨论】:

      【解决方案4】:

      同一个术语:函数的实际输入是调用它时传递的参数。

      编辑: 据我所知,对于输入 对函数可能意味着什么的问题,有不止一个答案。然而,在这个基本教程的情况下,简单的答案是合适的。

      【讨论】:

        猜你喜欢
        • 2022-01-15
        • 1970-01-01
        • 2019-02-16
        • 1970-01-01
        • 2021-09-20
        • 1970-01-01
        • 1970-01-01
        • 2020-04-22
        • 2018-09-19
        相关资源
        最近更新 更多