【问题标题】:Parameter vs Argument Python参数与参数 Python
【发布时间】:2018-04-20 12:14:36
【问题描述】:

所以我对 Python 还是很陌生,我仍然对使用参数和参数感到困惑。例如,我将如何编写一个接受字符串作为参数的函数?

【问题讨论】:

  • 嗯,“使用参数与参数”是什么意思?你是在问这些词是什么意思?

标签: python string function parameters arguments


【解决方案1】:

通常当人们说参数/参数时,它们的意思是相同的,但它们之间的主要区别在于参数是在函数中声明的内容,而参数是在调用函数时传递的内容。

def add(a, b):
    return a+b

add(5, 4)

这里的参数是ab,传入的参数是54

由于 Python 是一种动态类型语言,我们在声明函数时不需要声明参数的类型(与 C 等其他语言不同)。因此,我们无法控制作为参数传递给函数的确切类型。例如,在上面的函数中,我们可以做到add("hello", "hi")

这就是isinstance() 等函数有用的地方,因为它们可以确定对象的类型。例如,如果您执行isinstance("hello", int),它将返回 False,因为"hello" 是一个字符串。

【讨论】:

【解决方案2】:

查看常见问题解答:

What is the difference between arguments and parameters?

Parameters 由出现在函数定义中的名称定义,而 arguments 是在调用函数时实际传递给函数的值。参数定义函数可以接受的参数类型。例如,给定函数定义:

def func(foo, bar=None, **kwargs):
    pass

foobarkwargsfunc 的参数。但是,当调用func 时,例如:

func(42, bar=314, extra=somevar)

42314somevar 是参数。

另见:


有关定义接受字符串的函数,请参阅TerryA's answer。我只想提一下,您可以添加 type hints 以帮助使用您的函数的人知道它接受什么类型,以及它返回什么类型。

def greeting(name: str) -> str:
    return 'Hello ' + name

【讨论】:

    【解决方案3】:

    在编程术语中,参数是指您传递给正在调用的函数的数据,而参数是数据的名称,我们使用函数内部的参数来引用它并对其进行处理。

    例如:

    def functionname(something):
         do some stuff with {something}
     
    functionname(abc)
    

    在这种情况下,

    • abc --> 论据
    • something --> 参数

    【讨论】:

      猜你喜欢
      • 2021-10-16
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 2021-12-23
      • 2019-07-19
      相关资源
      最近更新 更多