参数与参数 Python

Posted

技术标签:

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

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

【问题讨论】:

嗯,“使用参数与参数”是什么意思?你是在问这些词是什么意思? 【参考方案1】:

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

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

add(5, 4)

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

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

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

【讨论】:

读者可以查看Python文档:docs.python.org/3/glossary.html#term-parameter 这里也很好地解释了这个概念 - codingeek.com/tutorials/python/function-argument【参考方案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 是参数。

另见:

language-agnosticWhat's the difference between an argument and a parameter? This answer 是我的最爱。

有关定义接受字符串的函数,请参阅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 --> 参数

【讨论】:

以上是关于参数与参数 Python的主要内容,如果未能解决你的问题,请参考以下文章

python参数收集与逆向参数收集

.net如何与pythonnet传递参数

python参数的可变参数与关键词参数

Python—参数*arg与**kwargs参数的用法

Python函数的定义参数传入与函数的调用

Python 参数与变量